From fcecbb37bf3e09d634ddc874fc8a1c5a68c536b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Fri, 5 Feb 2016 17:09:05 +0100 Subject: [PATCH] vboxDumpDisplay: clean up VIR_STRDUP usage Two VIR_STRDUP calls are redundant - just steal the string converted by VBOX_UTF16_TO_UTF8. Report an error when the third one fails. --- src/vbox/vbox_common.c | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index 5ee25531df..ee32e5163f 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -3300,8 +3300,6 @@ static int vboxDumpDisplay(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine) { /* dump display options vrdp/gui/sdl */ - char *guiDisplay = NULL; - char *sdlDisplay = NULL; PRUnichar *keyTypeUtf16 = NULL; PRUnichar *valueTypeUtf16 = NULL; char *valueTypeUtf8 = NULL; @@ -3343,41 +3341,25 @@ vboxDumpDisplay(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine) } if (STREQ(valueTypeUtf8, "sdl")) { - if (VIR_STRDUP(sdlDisplay, valueDisplayUtf8) < 0) { - /* just don't go to cleanup yet as it is ok to have - * sdlDisplay as NULL and we check it below if it - * exist and then only use it there - */ - } graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_SDL; - if (sdlDisplay) - graphics->data.sdl.display = sdlDisplay; + graphics->data.sdl.display = valueDisplayUtf8; + valueDisplayUtf8 = NULL; } if (STREQ(valueTypeUtf8, "gui")) { - if (VIR_STRDUP(guiDisplay, valueDisplayUtf8) < 0) { - /* just don't go to cleanup yet as it is ok to have - * guiDisplay as NULL and we check it below if it - * exist and then only use it there - */ - } graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP; - if (guiDisplay) - graphics->data.desktop.display = guiDisplay; + graphics->data.desktop.display = valueDisplayUtf8; + valueDisplayUtf8 = NULL; } VBOX_UTF8_FREE(valueDisplayUtf8); } else if (STRNEQ_NULLABLE(valueTypeUtf8, "vrdp")) { - const char *tmp; if (VIR_ALLOC(graphics) < 0) goto cleanup; graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP; - tmp = virGetEnvBlockSUID("DISPLAY"); - if (VIR_STRDUP(graphics->data.desktop.display, tmp) < 0) { - /* just don't go to cleanup yet as it is ok to have - * display as NULL - */ - } + if (VIR_STRDUP(graphics->data.desktop.display, + virGetEnvBlockSUID("DISPLAY")) < 0) + goto cleanup; } if (graphics) { -- GitLab