All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avnish Chouhan <avnish@linux.ibm.com>
To: sudhakar@linux.ibm.com
Cc: grub-devel@gnu.org, Daniel Kiper <daniel.kiper@oracle.com>
Subject: Re: [PATCH v1] linux/ofpath: Add missing strdup failure checks
Date: Wed, 19 Nov 2025 19:18:52 +0530	[thread overview]
Message-ID: <f62a0f5d446db19b37fc053130448127@linux.ibm.com> (raw)
In-Reply-To: <mailman.8407.1763554318.1058.grub-devel@gnu.org>

On 2025-11-19 17:41, grub-devel-request@gnu.org wrote:
> Message: 1
> Date: Wed, 19 Nov 2025 15:30:47 +0530
> From: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
> To: grub-devel@gnu.org
> Cc: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>, ssrish@linux.ibm.com,
> 	sridharm@linux.ibm.com, stefanb@linux.ibm.com
> Subject: [PATCH v1] linux/ofpath: Add missing strdup failure checks
> Message-ID: <20251119100047.6573-1-sudhakar@linux.ibm.com>
> 
> Segmentation faults or undefined behaviour may result from a null 
> pointer
> dereference in strip_trailing_digits and grub_util_devname_to_ofpath if
> strdup() fails. Therefore, I added a NULL check to fix this.
> 
> Signed-off-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
> Reviewed-by: Srish Srinivasan <ssrish@linux.ibm.com>
> ---

Reviewed-by: Avnish Chouhan <avnish@linux.ibm.com>

Regards,
Avnish Chouhan

>  grub-core/osdep/linux/ofpath.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/grub-core/osdep/linux/ofpath.c 
> b/grub-core/osdep/linux/ofpath.c
> index a6153d359..a3747b248 100644
> --- a/grub-core/osdep/linux/ofpath.c
> +++ b/grub-core/osdep/linux/ofpath.c
> @@ -695,6 +695,9 @@ strip_trailing_digits (const char *p)
>    char *new, *end;
> 
>    new = strdup (p);
> +  if (new == NULL)
> +    return NULL;
> +
>    end = new + strlen(new) - 1;
>    while (end >= new)
>      {
> @@ -709,13 +712,18 @@ strip_trailing_digits (const char *p)
>  char *
>  grub_util_devname_to_ofpath (const char *sys_devname)
>  {
> -  char *name_buf, *device, *devnode, *devicenode, *ofpath;
> +  char *name_buf, *device, *devnode, *devicenode, *ofpath = NULL;
> 
>    name_buf = xrealpath (sys_devname);
> 
>    device = get_basename (name_buf);
>    devnode = strip_trailing_digits (name_buf);
> +  if (devnode == NULL)
> +    goto devnode_fail;
> +
>    devicenode = strip_trailing_digits (device);
> +  if (devicenode == NULL)
> +    goto devicenode_fail;
> 
>    if (device[0] == 'h' && device[1] == 'd')
>      ofpath = of_path_of_ide(name_buf, device, devnode, devicenode);
> @@ -741,8 +749,10 @@ grub_util_devname_to_ofpath (const char 
> *sys_devname)
>        ofpath = NULL;
>      }
> 
> -  free (devnode);
>    free (devicenode);
> + devicenode_fail:
> +  free (devnode);
> + devnode_fail:
>    free (name_buf);
> 
>    return ofpath;
> --
> 2.50.1 (Apple Git-155)

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

       reply	other threads:[~2025-11-19 13:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.8407.1763554318.1058.grub-devel@gnu.org>
2025-11-19 13:48 ` Avnish Chouhan [this message]
2025-11-19 20:36   ` [PATCH v1] linux/ofpath: Add missing strdup failure checks Daniel Kiper
2025-11-19 10:00 Sudhakar Kuppusamy
  -- strict thread matches above, loose matches on Subject: below --
2025-11-19  9:59 Sudhakar Kuppusamy

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=f62a0f5d446db19b37fc053130448127@linux.ibm.com \
    --to=avnish@linux.ibm.com \
    --cc=daniel.kiper@oracle.com \
    --cc=grub-devel@gnu.org \
    --cc=sudhakar@linux.ibm.com \
    /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.