]> xenbits.xensource.com Git - libvirt.git/commitdiff
Make sure all command line arguments get passed to UML
authorSoren Hansen <soren@linux2go.dk>
Thu, 12 Aug 2010 13:42:34 +0000 (15:42 +0200)
committerEric Blake <eblake@redhat.com>
Sat, 14 Aug 2010 16:35:33 +0000 (10:35 -0600)
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 <soren@linux2go.dk>
src/uml/uml_conf.c

index bc8cbceeb64b0a29dc4c048a515848287ab3c3aa..0cb5ba08fbd330f04c9184ffe2e8e9c097bf051f 100644 (file)
@@ -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);