[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7ef2a1a7-5aa3-3762-85ae-c8e7b77915b3@gmail.com>
Date: Wed, 17 Feb 2021 10:08:32 -0700
From: David Ahern <dsahern@...il.com>
To: Муравьев Александр
<amuravyev@...erra.ru>, netdev@...r.kernel.org
Subject: Re: null terminating of IFLA_INFO_KIND/IFLA_IFNAME
On 2/17/21 9:06 AM, Муравьев Александр wrote:
> Hi
>
> A noob question that I haven't found an answer.
>
> Just wanted to clarify a piece of iproute2 code.
>
> ip/iplink.c:
>
>> 1058 addattr_l(&req.n, sizeof(req), IFLA_INFO_KIND, type,
>> 1059 strlen(type));
>
> also ip/iplink.c:
>
>> 1115 addattr_l(&req.n, sizeof(req),
>> 1116 !check_ifname(name) ? IFLA_IFNAME : IFLA_ALT_IFNAME,
>> 1117 name, strlen(name) + 1);
> My question is why we skip terminating null character for IFLA_INFO_KIND
> (the first case) and don't skip it for IFLA_IFNAME (the second case)? I
> mean "strlen(type)" and "strlen(name) + 1".
>
I think it is just different coders at different points in time. Kernel
side both use nla_strscpy which handles the string terminator (or
missing terminator).
Powered by blists - more mailing lists