summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@gluster.com>2010-03-03 02:16:09 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-03-04 02:04:08 -0800
commit56ccc0e5e9a0c1032e789d61dfb89a20ff3cbe7f (patch)
treeef432165f5cbf89922e83c2110cb82ff28a7e0d5
parent1edc53ccca8b2f834cecf7ec32ab31a7d8e9105e (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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c
index 398fb9b..eeb048f 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;
}