]> git.karo-electronics.de Git - karo-tx-linux.git/commit
net ax25: Fix signed comparison in the sockopt handler
authorArjan van de Ven <arjan@linux.intel.com>
Wed, 30 Sep 2009 11:51:11 +0000 (13:51 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Oct 2009 16:32:21 +0000 (09:32 -0700)
commit536a16fef0f84b71d949c67b0fc51de6325bca32
tree514421778ccb53f3b830e880175e245693471b29
parent7e7f56f9d27ddb7716dcda188436ad97880ec5c9
net ax25: Fix signed comparison in the sockopt handler

fixed upstream in commit b7058842c940ad2c08dd829b21e5c92ebe3b8758 in a different way

The ax25 code tried to use

        if (optlen < sizeof(int))
                return -EINVAL;

as a security check against optlen being negative (or zero) in the
set socket option.

Unfortunately, "sizeof(int)" is an unsigned property, with the
result that the whole comparison is done in unsigned, letting
negative values slip through.

This patch changes this to

        if (optlen < (int)sizeof(int))
                return -EINVAL;

so that the comparison is done as signed, and negative values
get properly caught.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/ax25/af_ax25.c