diff options
author | Raghavendra G <raghavendra@gluster.com> | 2010-03-03 02:14:37 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-03-04 02:04:04 -0800 |
commit | db199434dfccfb4db5335f6ba18298e9e61bc415 (patch) | |
tree | 316180787f1ccac2dad5eb0a04da5c36cba1a232 /libglusterfs/src/xlator.c | |
parent | 85a1716cd55b002b5d20a7903e28f106ee614814 (diff) |
transport/socket: fix to valid_ipv6_address.
- while checking for hexadecimal numbers, strtol on valid strings of
hexadecimal numbers will return a NULL string in endptr (but not a
NULL endptr). Thanks to Donald Neal <dmneal@wand.net.nz>, for pointing
this out.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 693 (glusterfs 3.0.2 will not listen on IPv6 address)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=693
Diffstat (limited to 'libglusterfs/src/xlator.c')
-rw-r--r-- | libglusterfs/src/xlator.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 44494a944..bc36173d1 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -190,7 +190,8 @@ valid_ipv6_address (char *address, int length) { hex_numbers++; value = strtol (prev, &endptr, 16); - if ((value > 0xffff) || (value < 0) || (endptr != NULL)) { + if ((value > 0xffff) || (value < 0) + || (endptr != NULL && *endptr != '\0')) { ret = 0; goto out; } |