All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Maks Mishin <maks.mishinfz@gmail.com>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] ipmaddr: Add check for result of sscanf
Date: Mon, 19 Feb 2024 09:31:39 -0800	[thread overview]
Message-ID: <20240219093139.5d86c69c@hermes.local> (raw)
In-Reply-To: <20240218204203.7564-1-maks.mishinFZ@gmail.com>

On Sun, 18 Feb 2024 23:42:03 +0300
Maks Mishin <maks.mishinfz@gmail.com> wrote:

> Added comparison of result sscanf with 2 to avoid
> potential troubles with args of sscanf.
> Found by RASU JSC.
> 
> Signed-off-by: Maks Mishin <maks.mishinFZ@gmail.com>
> ---
>  ip/ipmaddr.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/ip/ipmaddr.c b/ip/ipmaddr.c
> index 2418b303..00e91004 100644
> --- a/ip/ipmaddr.c
> +++ b/ip/ipmaddr.c
> @@ -148,7 +148,9 @@ static void read_igmp(struct ma_info **result_p)
>  		if (buf[0] != '\t') {
>  			size_t len;
>  
> -			sscanf(buf, "%d%s", &m.index, m.name);
> +			if (sscanf(buf, "%d%s", &m.index, m.name) != 2)
> +				return;
> +

You didn't look at surrounding code.
That will leak the file descriptor.
Please review you patches more carefully.

This is reading from kernel /proc/net/igmp. And the ABI for that is
stable so not a serious concern. It would be good if this was available
over better API like netlink, but few users get into the weed of multicast.

      reply	other threads:[~2024-02-19 17:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-18 20:42 [PATCH] ipmaddr: Add check for result of sscanf Maks Mishin
2024-02-19 17:31 ` Stephen Hemminger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240219093139.5d86c69c@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=maks.mishinfz@gmail.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.