[libvirt] [PATCH] Make sure all command line arguments get passed to UML

soren at linux2go.dk soren at linux2go.dk
Thu Aug 12 13:42:34 UTC 2010


From: Soren Hansen <soren at linux2go.dk>

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 at linux2go.dk>
---
 src/uml/uml_conf.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c
index 1623a78..42193e4 100644
--- a/src/uml/uml_conf.c
+++ b/src/uml/uml_conf.c
@@ -511,10 +511,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);
@@ -522,13 +522,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);
-- 
1.7.0.4




More information about the libvir-list mailing list