X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnlattr.c;h=190ae10126b0f2c397c1b4c6b80ae7ae84498bc2;hb=710da494970f1d73c7df3fc0997e565cf4396e9d;hp=ac09f2226dc748132cd869bdf0933a5daf7509c4;hpb=d798f7f080805ad7e15fc37a43d8c6f91edb6dda;p=pandora-kernel.git diff --git a/lib/nlattr.c b/lib/nlattr.c index ac09f2226dc7..190ae10126b0 100644 --- a/lib/nlattr.c +++ b/lib/nlattr.c @@ -20,6 +20,7 @@ static const u16 nla_attr_minlen[NLA_TYPE_MAX+1] = { [NLA_U16] = sizeof(u16), [NLA_U32] = sizeof(u32), [NLA_U64] = sizeof(u64), + [NLA_MSECS] = sizeof(u64), [NLA_NESTED] = NLA_HDRLEN, }; @@ -298,9 +299,15 @@ int nla_memcmp(const struct nlattr *nla, const void *data, */ int nla_strcmp(const struct nlattr *nla, const char *str) { - int len = strlen(str) + 1; - int d = nla_len(nla) - len; + int len = strlen(str); + char *buf = nla_data(nla); + int attrlen = nla_len(nla); + int d; + if (attrlen > 0 && buf[attrlen - 1] == '\0') + attrlen--; + + d = attrlen - len; if (d == 0) d = memcmp(nla_data(nla), str, len);