diff options
| author | Raghavendra G <raghavendra@gluster.com> | 2010-03-03 02:16:09 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2010-03-04 02:04:08 -0800 | 
| commit | 56ccc0e5e9a0c1032e789d61dfb89a20ff3cbe7f (patch) | |
| tree | ef432165f5cbf89922e83c2110cb82ff28a7e0d5 | |
| parent | 1edc53ccca8b2f834cecf7ec32ab31a7d8e9105e (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
| -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 398fb9baf..eeb048f81 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;                  }  | 
