
On 09/18/2018 02:48 PM, Fabiano FidĂȘncio wrote:
Signed-off-by: Fabiano FidĂȘncio <fidencio@redhat.com> --- src/xenconfig/xen_common.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c index a35e1aff58..08fbfff44f 100644 --- a/src/xenconfig/xen_common.c +++ b/src/xenconfig/xen_common.c @@ -183,7 +183,7 @@ xenConfigCopyStringOpt(virConfPtr conf, const char *name, char **value) static int xenConfigGetUUID(virConfPtr conf, const char *name, unsigned char *uuid) { - virConfValuePtr val; + char *string = NULL;
if (!uuid || !name || !conf) { virReportError(VIR_ERR_INVALID_ARG, "%s", @@ -191,7 +191,7 @@ xenConfigGetUUID(virConfPtr conf, const char *name, unsigned char *uuid) return -1; }
- if (!(val = virConfGetValue(conf, name))) {
This is the "isn't found" or "was missing" test...
+ if (virConfGetValueString(conf, name, &string) <= 0) {
But this takes it one step too far. If return < 0, then we had "if (cval->type != VIR_CONF_STRING)" or "VIR_STRDUP" failure. However, if you change to: int rc; ... if ((rc = virConfGetValueString(conf, name, &string)) < 0) return -1; if (rc == 0) { then I believe we're good. With the change, Reviewed-by: John Ferlan <jferlan@redhat.com> John [I can make the change locally, but I've forgotten the magic incantation or rpm that allows the xen* files to be built on my host, so I'm flying blind w/r/t proper syntax ;-)]
if (virUUIDGenerate(uuid) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to generate UUID"));
[...]