msg: Avoid returning a negative value for nlmsg_attrlen()
If a hdrlen was provided that was greather than the actual message length, a negative attributes length would result. This was typically happening for RTM_GETLINK requests where we can get a away with a 4 bytes header on the request side but the response would use a 16 bytes header. This resulted in strange -8 bytes leftover debug messages. Signed-off-by: Thomas Graf <tgraf@suug.ch>
This commit is contained in:
parent
d612180cda
commit
01cfa9c1db
1 changed files with 1 additions and 1 deletions
|
@ -153,7 +153,7 @@ struct nlattr *nlmsg_attrdata(const struct nlmsghdr *nlh, int hdrlen)
|
|||
*/
|
||||
int nlmsg_attrlen(const struct nlmsghdr *nlh, int hdrlen)
|
||||
{
|
||||
return nlmsg_len(nlh) - NLMSG_ALIGN(hdrlen);
|
||||
return max_t(int, nlmsg_len(nlh) - NLMSG_ALIGN(hdrlen), 0);
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
|
Loading…
Add table
Reference in a new issue