From: Wei Liu <wei.liu2@citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: wei.liu2@citrix.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org
Subject: Re: [PATCH] tools: libxl: free devpath on failure in libxl__blktap_devpath
Date: Tue, 16 Feb 2016 12:31:22 +0000 [thread overview]
Message-ID: <20160216123122.GK10489@citrix.com> (raw)
In-Reply-To: <1455620983-3109-1-git-send-email-ian.campbell@citrix.com>
On Tue, Feb 16, 2016 at 11:09:43AM +0000, Ian Campbell wrote:
> The underlying code paths in tap_ctl_create attempt to handle both
> *devpath == NULL (by allocating) and *devpath != NULL (caller provided
> name) and if they allocate tend to write the return immediately before
> doing other potentially error generating tasks. All of which makes
> handling this at a lower level rather more complicated than handling
> it in the error path of libxl__bllktap_devpath.
>
Extraneous "l" in the function name.
> Note that libxl__blktap_devpath initialises devpath to NULL and if the
> earlier GCSPRINTF succeeds then the value is returned earlier.
> Therefore if we make it to the call to tap_ctl_create then devpath is
> still NULL on entry, therefore on the error path devpath is either
> still NULL or has been set to a freshly allocated value by
> tap_ctl_create. Since free(NULL) is fine it is sufficient to just
> free(devpath).
>
> I also considered adding a non-NULL devnull to the gc, even on
> failure, but that would have required a comment to explain the
> apparently strange behaviour.
>
> Compile tested only.
>
> CID: 1215177
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
> ---
> tools/libxl/libxl_blktap2.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/libxl/libxl_blktap2.c b/tools/libxl/libxl_blktap2.c
> index 4f5e522..5c9a0a2 100644
> --- a/tools/libxl/libxl_blktap2.c
> +++ b/tools/libxl/libxl_blktap2.c
> @@ -47,6 +47,7 @@ char *libxl__blktap_devpath(libxl__gc *gc,
> return devname;
> }
>
> + free(devname);
> return NULL;
> }
>
> --
> 2.1.4
>
next prev parent reply other threads:[~2016-02-16 12:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-16 11:09 [PATCH] tools: libxl: free devpath on failure in libxl__blktap_devpath Ian Campbell
2016-02-16 12:31 ` Wei Liu [this message]
2016-02-16 17:37 ` Ian Jackson
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=20160216123122.GK10489@citrix.com \
--to=wei.liu2@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=xen-devel@lists.xen.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.