[PATCH] appliance: initialize the appliance_files struct
Some compilers do not manage to figure out that the members of it are set only when search_appliance() in the end returns 1, which is already checked. Help them a bit by resetting the appliance_files struct on our own, so they will not report that 'appliance.kernel', and the others are used as uninitialized. --- lib/appliance.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/appliance.c b/lib/appliance.c index 360d4105f..0fa37339e 100644 --- a/lib/appliance.c +++ b/lib/appliance.c @@ -118,6 +118,8 @@ guestfs_int_build_appliance (guestfs_h *g, struct appliance_files appliance; + memset (&appliance, 0, sizeof appliance); + if (search_appliance (g, &appliance) != 1) return -1; -- 2.14.3
On Fri, May 04, 2018 at 03:55:35PM +0200, Pino Toscano wrote:
Some compilers do not manage to figure out that the members of it are set only when search_appliance() in the end returns 1, which is already checked. Help them a bit by resetting the appliance_files struct on our own, so they will not report that 'appliance.kernel', and the others are used as uninitialized. --- lib/appliance.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/lib/appliance.c b/lib/appliance.c index 360d4105f..0fa37339e 100644 --- a/lib/appliance.c +++ b/lib/appliance.c @@ -118,6 +118,8 @@ guestfs_int_build_appliance (guestfs_h *g,
struct appliance_files appliance;
+ memset (&appliance, 0, sizeof appliance); + if (search_appliance (g, &appliance) != 1) return -1;
ACK Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
On 05/04/2018 08:55 AM, Pino Toscano wrote:
Some compilers do not manage to figure out that the members of it are set only when search_appliance() in the end returns 1, which is already checked. Help them a bit by resetting the appliance_files struct on our own, so they will not report that 'appliance.kernel', and the others are used as uninitialized. --- lib/appliance.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/lib/appliance.c b/lib/appliance.c index 360d4105f..0fa37339e 100644 --- a/lib/appliance.c +++ b/lib/appliance.c @@ -118,6 +118,8 @@ guestfs_int_build_appliance (guestfs_h *g,
struct appliance_files appliance;
+ memset (&appliance, 0, sizeof appliance); +
It's semantically identical but shorter to write: struct appliance_files appliance = { 0 }; Up to you if you like that. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
participants (3)
-
Eric Blake -
Pino Toscano -
Richard W.M. Jones