qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 4/8] virtiofsd: Changed allocations of fuse_session to GLib's


From: Stefan Hajnoczi
Subject: Re: [PATCH 4/8] virtiofsd: Changed allocations of fuse_session to GLib's functions
Date: Tue, 23 Mar 2021 14:08:31 +0000

On Fri, Mar 19, 2021 at 03:25:23PM +0200, Mahmoud Mandour wrote:
> Replaced the allocation and deallocation of fuse_session structs
> from calloc() and free() calls to g_new0() and g_free().
> 
> Removed the NULL-check and used g_new0() mainly because fuse_session
> creation is critical and an exit will occur anyway if fuse_session
> allocation failed.
> 
> Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
> ---
>  tools/virtiofsd/fuse_lowlevel.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/tools/virtiofsd/fuse_lowlevel.c b/tools/virtiofsd/fuse_lowlevel.c
> index 45527ff703..b0e9ef29a7 100644
> --- a/tools/virtiofsd/fuse_lowlevel.c
> +++ b/tools/virtiofsd/fuse_lowlevel.c
> @@ -2467,7 +2467,7 @@ void fuse_session_destroy(struct fuse_session *se)
>      free(se->vu_socket_path);
>      se->vu_socket_path = NULL;
>  
> -    free(se);
> +    g_free(se);
>  }
>  
>  
> @@ -2490,11 +2490,7 @@ struct fuse_session *fuse_session_new(struct fuse_args 
> *args,
>          return NULL;
>      }
>  
> -    se = (struct fuse_session *)calloc(1, sizeof(struct fuse_session));
> -    if (se == NULL) {
> -        fuse_log(FUSE_LOG_ERR, "fuse: failed to allocate fuse object\n");
> -        goto out1;
> -    }
> +    se = g_new0(struct fuse_session, 1);

Exiting with a virtiofsd log message is preferrable to aborting inside
g_new0(). abort(3) is good when you need a coredump to investigate the
problem. Here that doesn't seem appropriate. Please don't remove this
error handling code.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]