[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] multi-process: Initialize variables declared with g_auto*
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH] multi-process: Initialize variables declared with g_auto* |
Date: |
Wed, 3 Mar 2021 10:17:50 +0000 |
User-agent: |
Mutt/2.0.5 (2021-01-21) |
On Wed, Mar 03, 2021 at 03:06:39PM +0800, Zenghui Yu wrote:
> Quote docs/devel/style.rst (section "Automatic memory deallocation"):
>
> * Variables declared with g_auto* MUST always be initialized,
> otherwise the cleanup function will use uninitialized stack memory
>
> Initialize @name properly to get rid of the compilation error:
>
> ../hw/remote/proxy.c: In function 'pci_proxy_dev_realize':
> /usr/include/glib-2.0/glib/glib-autocleanups.h:28:3: error: 'name' may be
> used uninitialized in this function [-Werror=maybe-uninitialized]
> g_free (*pp);
> ^~~~~~~~~~~~
> ../hw/remote/proxy.c:350:30: note: 'name' was declared here
> g_autofree char *name;
> ^~~~
This is a bit wierd. There should only be risk of uninitialized
variable if there is a 'return' or 'goto' statement between the
variable declaration and and initialization, which is not the
case in either scenario here.
What OS distro and compiler + version are you seeing this with ?
Also we seem to be lacking any gitlab CI job to test with the
multiprocess feature enabled
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|