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
This commit is contained in:
Raghavendra G 2010-03-03 02:14:37 +00:00 committed by Anand V. Avati
parent 85a1716cd5
commit db199434df

View File

@ -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;
}