diff mbox

tools/libxc/xc_dom_arm: add missing variable initialization

Message ID 20170819142142.18673-1-thomas.petazzoni@free-electrons.com (mailing list archive)
State New, archived
Headers show

Commit Message

Thomas Petazzoni Aug. 19, 2017, 2:21 p.m. UTC
From: Bernd Kuhls <bernd.kuhls@t-online.de>

The variable domctl.u.address_size.size may remain uninitialized if
guest_type is not one of xen-3.0-aarch64 or xen-3.0-armv7l. And the
code precisely checks if this variable is still 0 to decide if the
guest type is supported or not.

This fixes the following build failure with gcc 7.x:

xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used uninitialized in this function [-Werror=maybe-uninitialized]
     if ( domctl.u.address_size.size == 0 )

Patch originally taken from
https://www.mail-archive.com/xen-devel@lists.xen.org/msg109313.html.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 tools/libxc/xc_dom_arm.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Wei Liu Aug. 21, 2017, 8:20 a.m. UTC | #1
On Sat, Aug 19, 2017 at 04:21:42PM +0200, Thomas Petazzoni wrote:
> From: Bernd Kuhls <bernd.kuhls@t-online.de>
> 
> The variable domctl.u.address_size.size may remain uninitialized if
> guest_type is not one of xen-3.0-aarch64 or xen-3.0-armv7l. And the
> code precisely checks if this variable is still 0 to decide if the
> guest type is supported or not.
> 
> This fixes the following build failure with gcc 7.x:
> 
> xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>      if ( domctl.u.address_size.size == 0 )
> 
> Patch originally taken from
> https://www.mail-archive.com/xen-devel@lists.xen.org/msg109313.html.
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>


Acked-by: Wei Liu <wei.liu2@citrix.com>
diff mbox

Patch

diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c
index e7d4bd0..e669fb0 100644
--- a/tools/libxc/xc_dom_arm.c
+++ b/tools/libxc/xc_dom_arm.c
@@ -223,6 +223,8 @@  static int set_mode(xc_interface *xch, domid_t domid, char *guest_type)
 
     domctl.domain = domid;
     domctl.cmd    = XEN_DOMCTL_set_address_size;
+    domctl.u.address_size.size = 0;
+
     for ( i = 0; i < ARRAY_SIZE(types); i++ )
         if ( !strcmp(types[i].guest, guest_type) )
             domctl.u.address_size.size = types[i].size;