Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 168798
b: refs/heads/master
c: 1e360a6
h: refs/heads/master
v: v3
  • Loading branch information
Chuck Lever authored and Trond Myklebust committed Nov 13, 2009
1 parent c97e0b0 commit 4e2f0b4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 96d25e532234bec1a1989e6e1baf702d43a78b0d
refs/heads/master: 1e360a60b24ad8f8685af66fa6de10ce46693a4b
18 changes: 8 additions & 10 deletions trunk/net/sunrpc/addr.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,24 +306,25 @@ EXPORT_SYMBOL_GPL(rpc_sockaddr2uaddr);
* @sap: buffer into which to plant socket address
* @salen: size of buffer
*
* @uaddr does not have to be '\0'-terminated, but strict_strtoul() and
* rpc_pton() require proper string termination to be successful.
*
* Returns the size of the socket address if successful; otherwise
* zero is returned.
*/
size_t rpc_uaddr2sockaddr(const char *uaddr, const size_t uaddr_len,
struct sockaddr *sap, const size_t salen)
{
char *c, buf[RPCBIND_MAXUADDRLEN];
char *c, buf[RPCBIND_MAXUADDRLEN + sizeof('\0')];
unsigned long portlo, porthi;
unsigned short port;

if (uaddr_len > sizeof(buf))
if (uaddr_len > RPCBIND_MAXUADDRLEN)
return 0;

memcpy(buf, uaddr, uaddr_len);

buf[uaddr_len] = '\n';
buf[uaddr_len + 1] = '\0';

buf[uaddr_len] = '\0';
c = strrchr(buf, '.');
if (unlikely(c == NULL))
return 0;
Expand All @@ -332,9 +333,7 @@ size_t rpc_uaddr2sockaddr(const char *uaddr, const size_t uaddr_len,
if (unlikely(portlo > 255))
return 0;

c[0] = '\n';
c[1] = '\0';

*c = '\0';
c = strrchr(buf, '.');
if (unlikely(c == NULL))
return 0;
Expand All @@ -345,8 +344,7 @@ size_t rpc_uaddr2sockaddr(const char *uaddr, const size_t uaddr_len,

port = (unsigned short)((porthi << 8) | portlo);

c[0] = '\0';

*c = '\0';
if (rpc_pton(buf, strlen(buf), sap, salen) == 0)
return 0;

Expand Down

0 comments on commit 4e2f0b4

Please sign in to comment.