[PATCH v1 5/5] Fix double free issue in qemu_set_log_filename().

Robert Foley posted 5 patches 6 years, 2 months ago
Maintainers: Marek Vasut <marex@denx.de>, Jason Wang <jasowang@redhat.com>, Chris Wulff <crwulff@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Michael Walle <michael@walle.cc>, Richard Henderson <rth@twiddle.net>, Eduardo Habkost <ehabkost@redhat.com>, Guan Xuetao <gxt@mprc.pku.edu.cn>
There is a newer version of this series
[PATCH v1 5/5] Fix double free issue in qemu_set_log_filename().
Posted by Robert Foley 6 years, 2 months ago
After freeing the logfilename, we set logfilename to NULL, in case of an
error which returns without setting logfilename.

Signed-off-by: Robert Foley <robert.foley@linaro.org>
---
v1
    - This is new in the patch v1.
---
 util/log.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/util/log.c b/util/log.c
index 802b8de42e..1eed74788c 100644
--- a/util/log.c
+++ b/util/log.c
@@ -148,6 +148,7 @@ void qemu_set_log_filename(const char *filename, Error **errp)
     char *pidstr;
 
     g_free(logfilename);
+    logfilename = NULL;
 
     pidstr = strstr(filename, "%");
     if (pidstr) {
-- 
2.17.1


Re: [PATCH v1 5/5] Fix double free issue in qemu_set_log_filename().
Posted by Alex Bennée 6 years, 2 months ago
Robert Foley <robert.foley@linaro.org> writes:

> After freeing the logfilename, we set logfilename to NULL, in case of an
> error which returns without setting logfilename.
>
> Signed-off-by: Robert Foley <robert.foley@linaro.org>

As this fixes an existing bug I would put this at the start of the
series. Otherwise:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
> v1
>     - This is new in the patch v1.
> ---
>  util/log.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/util/log.c b/util/log.c
> index 802b8de42e..1eed74788c 100644
> --- a/util/log.c
> +++ b/util/log.c
> @@ -148,6 +148,7 @@ void qemu_set_log_filename(const char *filename, Error **errp)
>      char *pidstr;
>
>      g_free(logfilename);
> +    logfilename = NULL;
>
>      pidstr = strstr(filename, "%");
>      if (pidstr) {


--
Alex Bennée