From 3ad8cbd3bef617bae42426c6697d21e930cb9bb1 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Thu, 12 Aug 2010 15:42:34 +0200 Subject: [PATCH] Make sure all command line arguments get passed to UML If umlBuildCommandLineChr fails (e.g. due to an unsupported chardev type), it returns NULL. umlBuildCommandLine does not check for this and sets this as an argument on the comand line, effectively ending the argument list. This patch checks for this case and sets the chardev to "none". Signed-off-by: Soren Hansen --- src/uml/uml_conf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c index bc8cbceeb6..0cb5ba08fb 100644 --- a/src/uml/uml_conf.c +++ b/src/uml/uml_conf.c @@ -513,10 +513,10 @@ int umlBuildCommandLine(virConnectPtr conn, } for (i = 0 ; i < UML_MAX_CHAR_DEVICE ; i++) { - char *ret; + char *ret = NULL; if (i == 0 && vm->def->console) ret = umlBuildCommandLineChr(vm->def->console, "con"); - else + if (!ret) if (virAsprintf(&ret, "con%d=none", i) < 0) goto no_memory; ADD_ARG(ret); @@ -524,13 +524,13 @@ int umlBuildCommandLine(virConnectPtr conn, for (i = 0 ; i < UML_MAX_CHAR_DEVICE ; i++) { virDomainChrDefPtr chr = NULL; - char *ret; + char *ret = NULL; for (j = 0 ; j < vm->def->nserials ; j++) if (vm->def->serials[j]->target.port == i) chr = vm->def->serials[j]; if (chr) ret = umlBuildCommandLineChr(chr, "ssl"); - else + if (!ret) if (virAsprintf(&ret, "ssl%d=none", i) < 0) goto no_memory; ADD_ARG(ret);