Applied, thanks!

Mikhail Karpov, le dim. 20 sept. 2026 22:52:34 +0700, a ecrit:
> Hello,
> 
> This is a small fix for the console-client translator; the return value of
> netfs_make_node was not being checked in two places within trans.c.
> 
> Thanks,
> 
> -- 
> Mikhail Karpov

> From 861783bd81f6d5981599fcc941ae885f0f59e59b Mon Sep 17 00:00:00 2001
> From: Mikhail Karpov <[email protected]>
> Date: Sun, 20 Sep 2026 22:37:48 +0700
> Subject: [PATCH] Adding a check for the return value of netfs_make_node in the
>  console-client
> 
> ---
>  console-client/trans.c | 24 +++++++++++++++++++-----
>  1 file changed, 19 insertions(+), 5 deletions(-)
> 
> diff --git a/console-client/trans.c b/console-client/trans.c
> index afdf5acd..5282d60d 100644
> --- a/console-client/trans.c
> +++ b/console-client/trans.c
> @@ -290,11 +290,17 @@ netfs_attempt_lookup (struct iouser *user, struct node 
> *dir,
>           nn = calloc (1, sizeof *nn);
>           if (nn == NULL)
>             {
> -             err = ENOMEM;
> +             err = errno;
>               goto out;
>             }
>  
>           *node = netfs_make_node (nn);
> +         if (*node == NULL)
> +           {
> +             err = errno;
> +             free (nn);
> +             goto out;
> +           }
>  
>           nn->node = cn;
>           (*node)->nn_stat = netfs_root_node->nn_stat;
> @@ -491,9 +497,16 @@ netfs_attempt_mkfile (struct iouser *user, struct node 
> *dir,
>  
>    nn = calloc (1, sizeof (*nn));
>    if (!nn)
> -    return ENOMEM;
> +    return errno;
>  
>    *np = netfs_make_node (nn);
> +  if (!*np)
> +    {
> +      err = errno;
> +      free (nn);
> +      return err;
> +    }
> +
>    pthread_mutex_lock (&(*np)->lock);
>  
>    return 0;
> @@ -809,13 +822,14 @@ console_create_consnode (const char *name, consnode_t 
> *cn)
>  
>    *cn = malloc (sizeof (struct consnode));
>    if (!*cn)
> -    return ENOMEM;
> +    return errno;
>  
>    (*cn)->name = strdup (name);
>    if (!(*cn)->name)
>      {
> +      error_t err = errno;
>        free (*cn);
> -      return ENOMEM;
> +      return err;
>      }
>  
>    (*cn)->id = cn_id++;
> @@ -887,7 +901,7 @@ console_setup_node (char *path)
>    /* Create the root node (some attributes initialized below).  */
>    netfs_root_node = netfs_make_node (0);
>    if (! netfs_root_node)
> -    error (1, ENOMEM, "Cannot create root node");
> +    error (1, errno, "Cannot create root node");
>  
>    err = maptime_map (0, 0, &console_maptime);
>    if (err)
> -- 
> 2.43.0
> 


-- 
Samuel
* y se leve dans 2h10

Reply via email to