File 594d2ef8-xen-detect-handle-asprintf-error.patch of Package xen.7314
References: bsc#1037840
Subject: xen-detect: handle asprintf error
From: Wei Liu wei.liu2@citrix.com Wed Jun 21 15:41:52 2017 +0100
Date: Fri Jun 23 16:08:40 2017 +0100:
Git: 7f919ac31993e95387cac612d0dc0bf0ac7cccce
Otherwise gcc with -Wunused will complain the return value is not
used.
Reported-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
diff --git a/tools/misc/xen-detect.c b/tools/misc/xen-detect.c
index a62747d..fd187a4 100644
--- a/tools/misc/xen-detect.c
+++ b/tools/misc/xen-detect.c
@@ -90,8 +90,15 @@ static int check_for_xen(int pv_context)
found:
cpuid(base + 1, regs, pv_context);
if ( regs[0] )
- asprintf(&ver, "V%u.%u",
- (uint16_t)(regs[0] >> 16), (uint16_t)regs[0]);
+ {
+ int r = asprintf(&ver, "V%u.%u", (uint16_t)(regs[0] >> 16),
+ (uint16_t)regs[0]);
+ if ( r < 0 )
+ {
+ perror("asprintf failed\n");
+ exit(EXIT_FAILURE);
+ }
+ }
return regs[0];
}
@@ -193,8 +200,14 @@ static enum guest_type check_sysfs(void)
if ( tmp )
tmp[strlen(tmp) - 1] = 0;
if ( str && tmp )
- asprintf(&ver, "V%s.%s", str, tmp);
- else
+ {
+ int r = asprintf(&ver, "V%s.%s", str, tmp);
+ if ( r < 0 )
+ {
+ perror("asprintf failed\n");
+ exit(EXIT_FAILURE);
+ }
+ } else
ver = strdup("unknown version");
free(tmp);