X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2Fnlattr.c;h=fc6754720ced66f80343a7331044b89f42521a42;hb=3cfc06be1270296387ce179f44aaa07559e0ab40;hp=18eca7809b08894cd135519f8991e138bbc0fa2a;hpb=e589db7a6a9c8f1557007f2cc765ee28ad7a1edd;p=firefly-linux-kernel-4.4.55.git diff --git a/lib/nlattr.c b/lib/nlattr.c index 18eca7809b08..fc6754720ced 100644 --- a/lib/nlattr.c +++ b/lib/nlattr.c @@ -303,9 +303,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);