Pablo Neira
99df85bdef
netlink: don't compare the nul-termination in nla_strcmp
...
[ Upstream commit 8b7b932434 ]
nla_strcmp compares the string length plus one, so it's implicitly
including the nul-termination in the comparison.
int nla_strcmp(const struct nlattr *nla, const char *str)
{
int len = strlen(str) + 1;
...
d = memcmp(nla_data(nla), str, len);
However, if NLA_STRING is used, userspace can send us a string without
the nul-termination. This is a problem since the string
comparison will not match as the last byte may be not the
nul-termination.
Fix this by skipping the comparison of the nul-termination if the
attribute data is nul-terminated. Suggested by Thomas Graf.
Cc: Florian Westphal <fw@strlen.de >
Cc: Thomas Graf <tgraf@suug.ch >
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org >
Signed-off-by: David S. Miller <davem@davemloft.net >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2014-04-26 17:13:18 -07:00
..
2012-12-03 11:47:23 -08:00
2012-03-28 18:30:03 +01:00
2011-09-21 13:39:59 -07:00
2012-03-07 15:04:04 -05:00
2012-02-29 17:15:08 -05:00
2013-01-11 09:07:17 -08:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-24 10:24:31 -07:00
2012-03-07 15:04:04 -05:00
2012-06-17 11:21:22 -07:00
2012-01-26 21:28:45 +01:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-02-02 10:34:23 +11:00
2012-03-07 15:04:04 -05:00
2011-10-29 21:20:22 +02:00
2012-03-07 15:04:04 -05:00
2012-03-28 17:14:35 -07:00
2012-03-23 16:58:38 -07:00
2012-03-23 16:58:38 -07:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-05 15:49:43 -08:00
2012-03-07 15:04:04 -05:00
2011-12-06 10:00:05 +01:00
2011-12-06 09:53:40 +01:00
2012-01-12 20:13:13 -08:00
2012-03-07 15:04:04 -05:00
2013-02-11 08:47:17 -08:00
2012-03-07 15:04:04 -05:00
2012-01-24 16:00:35 -08:00
2012-03-07 15:04:04 -05:00
2012-01-24 12:50:36 -08:00
2012-07-16 09:03:43 -07:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-10-13 05:38:38 +09:00
2012-03-23 16:58:38 -07:00
2012-10-31 10:02:56 -07:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2014-04-14 06:44:15 -07:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-24 10:24:31 -07:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-28 17:14:37 -07:00
2012-03-29 14:28:26 -07:00
2013-06-07 12:49:13 -07:00
2012-03-24 10:24:31 -07:00
2013-04-16 21:27:27 -07:00
2012-03-07 15:04:04 -05:00
2011-10-31 17:30:56 -07:00
2012-03-07 15:04:04 -05:00
2012-03-24 10:24:31 -07:00
2012-03-28 15:58:21 -07:00
2012-03-07 15:04:04 -05:00
2014-02-20 10:45:32 -08:00
2012-03-07 15:04:04 -05:00
2014-04-26 17:13:18 -07:00
2012-03-07 15:04:04 -05:00
2012-01-31 23:19:47 +02:00
2011-10-31 17:30:56 -07:00
2012-02-29 17:15:08 -05:00
2012-03-23 16:58:36 -07:00
2011-09-13 11:11:50 +02:00
2012-06-10 00:36:17 +09:00
2013-12-08 07:29:41 -08:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2011-12-08 19:52:43 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2013-11-13 12:01:49 +09:00
2012-03-07 15:04:04 -05:00
2013-10-13 15:42:49 -07:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-07 15:04:04 -05:00
2012-03-24 10:24:31 -07:00
2012-03-24 10:24:31 -07:00
2012-03-07 15:04:04 -05:00
2012-03-24 10:24:31 -07:00
2012-03-07 15:04:04 -05:00
2014-02-20 10:45:33 -08:00