[PATCH] fixed segfault in virauth

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



No check for conn->uri being NULL in virAuthGetConfigFilePath (valid state) made the client segfault. This happens with fresh defalt VDSM configuration for example.

The check ought to be enough as conn->uri being NULL is valid in later code.
---
 src/util/virauth.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/util/virauth.c b/src/util/virauth.c
index e6b1db0..2c1a4ae 100644
--- a/src/util/virauth.c
+++ b/src/util/virauth.c
@@ -1,7 +1,7 @@
 /*
  * virauth.c: authentication related utility functions
  *
- * Copyright (C) 2010 Matthias Bolte <matthias.bolte@xxxxxxxxxxxxxx>
+ * Copyright (C) 2010, 2012 Matthias Bolte <matthias.bolte@xxxxxxxxxxxxxx>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -54,14 +54,16 @@ int virAuthGetConfigFilePath(virConnectPtr conn,
         return 0;
     }

-    for (i = 0 ; i < conn->uri->paramsCount ; i++) {
-        if (STREQ_NULLABLE(conn->uri->params[i].name, "authfile") &&
-            conn->uri->params[i].value) {
-            VIR_DEBUG("Using path from URI '%s'",
-                      conn->uri->params[i].value);
-            if (!(*path = strdup(conn->uri->params[i].value)))
-                goto no_memory;
-            return 0;
+    if (conn && conn->uri) {
+        for (i = 0 ; i < conn->uri->paramsCount ; i++) {
+            if (STREQ_NULLABLE(conn->uri->params[i].name, "authfile") &&
+                conn->uri->params[i].value) {
+                VIR_DEBUG("Using path from URI '%s'",
+                          conn->uri->params[i].value);
+                if (!(*path = strdup(conn->uri->params[i].value)))
+                    goto no_memory;
+                return 0;
+            }
         }
     }

--
1.7.8.6

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]