* [PATCH iproute2] ifstat: handle strdup return value
@ 2024-03-14 12:20 Denis Kirjanov
2024-03-15 2:23 ` Ratheesh Kannoth
0 siblings, 1 reply; 4+ messages in thread
From: Denis Kirjanov @ 2024-03-14 12:20 UTC (permalink / raw)
To: stephen, dsahern; +Cc: netdev, Denis Kirjanov
get_nlmsg_extended missing the check as it's done
in get_nlmsg
Signed-off-by: Denis Kirjanov <dkirjanov@suse.de>
---
misc/ifstat.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/misc/ifstat.c b/misc/ifstat.c
index 685e66c9..f94b11bc 100644
--- a/misc/ifstat.c
+++ b/misc/ifstat.c
@@ -140,6 +140,11 @@ static int get_nlmsg_extended(struct nlmsghdr *m, void *arg)
n->ifindex = ifsm->ifindex;
n->name = strdup(ll_index_to_name(ifsm->ifindex));
+ if (!n->name) {
+ free(n);
+ errno = ENOMEM;
+ return -1;
+ }
if (sub_type == NO_SUB_TYPE) {
memcpy(&n->val, RTA_DATA(tb[filter_type]), sizeof(n->val));
--
2.30.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH iproute2] ifstat: handle strdup return value
2024-03-14 12:20 [PATCH iproute2] ifstat: handle strdup return value Denis Kirjanov
@ 2024-03-15 2:23 ` Ratheesh Kannoth
2024-03-15 2:34 ` David Ahern
2024-03-15 4:46 ` Stephen Hemminger
0 siblings, 2 replies; 4+ messages in thread
From: Ratheesh Kannoth @ 2024-03-15 2:23 UTC (permalink / raw)
To: Denis Kirjanov; +Cc: stephen, dsahern, netdev, Denis Kirjanov
On 2024-03-14 at 17:50:40, Denis Kirjanov (kirjanov@gmail.com) wrote:
> get_nlmsg_extended missing the check as it's done
> in get_nlmsg
>
> Signed-off-by: Denis Kirjanov <dkirjanov@suse.de>
> ---
> misc/ifstat.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/misc/ifstat.c b/misc/ifstat.c
> index 685e66c9..f94b11bc 100644
> --- a/misc/ifstat.c
> +++ b/misc/ifstat.c
> @@ -140,6 +140,11 @@ static int get_nlmsg_extended(struct nlmsghdr *m, void *arg)
>
> n->ifindex = ifsm->ifindex;
> n->name = strdup(ll_index_to_name(ifsm->ifindex));
> + if (!n->name) {
> + free(n);
> + errno = ENOMEM;
strdup() will set the errno right ? why do you need to set it explicitly ?
> + return -1;
> + }
>
> if (sub_type == NO_SUB_TYPE) {
> memcpy(&n->val, RTA_DATA(tb[filter_type]), sizeof(n->val));
> --
> 2.30.2
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH iproute2] ifstat: handle strdup return value
2024-03-15 2:23 ` Ratheesh Kannoth
@ 2024-03-15 2:34 ` David Ahern
2024-03-15 4:46 ` Stephen Hemminger
1 sibling, 0 replies; 4+ messages in thread
From: David Ahern @ 2024-03-15 2:34 UTC (permalink / raw)
To: Ratheesh Kannoth, Denis Kirjanov; +Cc: stephen, netdev, Denis Kirjanov
On 3/14/24 8:23 PM, Ratheesh Kannoth wrote:
>> diff --git a/misc/ifstat.c b/misc/ifstat.c
>> index 685e66c9..f94b11bc 100644
>> --- a/misc/ifstat.c
>> +++ b/misc/ifstat.c
>> @@ -140,6 +140,11 @@ static int get_nlmsg_extended(struct nlmsghdr *m, void *arg)
>>
>> n->ifindex = ifsm->ifindex;
>> n->name = strdup(ll_index_to_name(ifsm->ifindex));
>> + if (!n->name) {
>> + free(n);
>> + errno = ENOMEM;
> strdup() will set the errno right ? why do you need to set it explicitly ?
agreed.
pw-bot: cr
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH iproute2] ifstat: handle strdup return value
2024-03-15 2:23 ` Ratheesh Kannoth
2024-03-15 2:34 ` David Ahern
@ 2024-03-15 4:46 ` Stephen Hemminger
1 sibling, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2024-03-15 4:46 UTC (permalink / raw)
To: Ratheesh Kannoth; +Cc: Denis Kirjanov, dsahern, netdev, Denis Kirjanov
On Fri, 15 Mar 2024 07:53:29 +0530
Ratheesh Kannoth <rkannoth@marvell.com> wrote:
> > diff --git a/misc/ifstat.c b/misc/ifstat.c
> > index 685e66c9..f94b11bc 100644
> > --- a/misc/ifstat.c
> > +++ b/misc/ifstat.c
> > @@ -140,6 +140,11 @@ static int get_nlmsg_extended(struct nlmsghdr *m, void *arg)
> >
> > n->ifindex = ifsm->ifindex;
> > n->name = strdup(ll_index_to_name(ifsm->ifindex));
> > + if (!n->name) {
> > + free(n);
> > + errno = ENOMEM;
> strdup() will set the errno right ? why do you need to set it explicitly ?
> > + return -1;
Man page for strdup says:
RETURN VALUE
On success, the strdup() function returns a pointer to the duplicated
string. It returns NULL if insufficient memory was available, with er‐
rno set to indicate the error.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-03-15 4:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-14 12:20 [PATCH iproute2] ifstat: handle strdup return value Denis Kirjanov
2024-03-15 2:23 ` Ratheesh Kannoth
2024-03-15 2:34 ` David Ahern
2024-03-15 4:46 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).