cifs: fix handling of scopeid in cifs_convert_address
authorJeff Layton <jlayton@redhat.com>
Wed, 16 Feb 2011 14:34:16 +0000 (09:34 -0500)
committerSteve French <sfrench@us.ibm.com>
Thu, 17 Feb 2011 05:35:33 +0000 (05:35 +0000)
commit9616125611ee47693186533d76e403856a36b3c8
tree4bbeff100868bd97bb1eea660838fde851602441
parenta2640111d5edb3f4e6dd6089c0dbddc7590110b4
cifs: fix handling of scopeid in cifs_convert_address

The code finds, the '%' sign in an ipv6 address and copies that to a
buffer allocated on the stack. It then ignores that buffer, and passes
'pct' to simple_strtoul(), which doesn't work right because we're
comparing 'endp' against a completely different string.

Fix it by passing the correct pointer. While we're at it, this is a
good candidate for conversion to strict_strtoul as well.

Cc: stable@kernel.org
Cc: David Howells <dhowells@redhat.com>
Reported-by: Björn JACKE <bj@sernet.de>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/netmisc.c