From: Vasiliy Kulikov Date: Sun, 14 Nov 2010 07:06:08 +0000 (+0000) Subject: net: ipv4: tcp_probe: cleanup snprintf() use X-Git-Tag: v2.6.38-rc1~476^2~517 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dda0b38692a7298f433b92b1329867b1ecabb4bb;p=pandora-kernel.git net: ipv4: tcp_probe: cleanup snprintf() use snprintf() returns number of bytes that were copied if there is no overflow. This code uses return value as number of copied bytes. Theoretically format string '%lu.%09lu %pI4:%u %pI4:%u %d %#x %#x %u %u %u %u\n' may be expanded up to 163 bytes. In reality tv.tv_sec is just few bytes instead of 20, 2 ports are just 5 bytes each instead of 10, length is 5 bytes instead of 10. The rest is an unstrusted input. Theoretically if tv_sec is big then copy_to_user() would overflow tbuf. tbuf was increased to fit in 163 bytes. snprintf() is used to follow return value semantic. Signed-off-by: Vasiliy Kulikov Signed-off-by: David S. Miller --- Reading git-diff-tree failed