]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fixed stack overflow. Fixed bridge network
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 14 May 2007 15:41:57 +0000 (15:41 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 14 May 2007 15:41:57 +0000 (15:41 +0000)
ChangeLog
qemud/conf.c

index b5ab65f7e4dcc12006a5dc2f2c509e3579fb537a..21159f6dcfaa3691529b8cfa0536015dd7f88475 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon May 14 11:00:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
+
+       * qemud/conf.c: Fix initialization of var to prevent stack
+       overflow. Make sure we initialize the brCtl in case there
+       is no virtual network running
+
 Thu May 11 10:20:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
 
        * src/xm_internal.c: Fix boot device XML syntax
index ceecf95ce7896743ee562df821be058b55b55260..9e81cb365c3fbd059c8b801c2e238a2478878747 100644 (file)
@@ -246,7 +246,7 @@ static int qemudExtractVersionInfo(const char *qemu, int *version, int *flags) {
         _exit(-1); /* Just in case */
     } else { /* Parent */
         char help[8192]; /* Ought to be enough to hold QEMU help screen */
-        int got, ret = -1;
+        int got = 0, ret = -1;
         int major, minor, micro;
 
         if (close(newstdout[1]) < 0)
@@ -1152,6 +1152,12 @@ qemudNetworkIfaceConnect(struct qemud_server *server,
         goto error;
     }
 
+    if (!server->brctl && (err = brInit(&server->brctl))) {
+        qemudReportError(server, VIR_ERR_INTERNAL_ERROR,
+                         "cannot initialize bridge support: %s", strerror(err));
+        goto error;
+    }
+
     if ((err = brAddTap(server->brctl, brname,
                         ifname, BR_IFNAME_MAXLEN, &tapfd))) {
         qemudReportError(server, VIR_ERR_INTERNAL_ERROR,