From d9b4538469bfa480e22b504c896c13cdcde5e31a Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 2 Sep 2009 17:47:51 +0200 Subject: [PATCH] libvir.c: avoid NULL dereference in virStoragePoolSetAutostart * src/libvirt.c (virStoragePoolSetAutostart): Return -1 if the pool argument is invalid, rather than "goto error" where we could dereference that possibly-NULL "pool". (virConnectFindStoragePoolSources): Likewise. (virConnectNumOfDomains): Likewise. Daniel P. Berrange spotted that the two latter functions needed the same treatment. --- src/libvirt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libvirt.c b/src/libvirt.c index 397792820f..6f204caeb6 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -1606,7 +1606,7 @@ virConnectNumOfDomains(virConnectPtr conn) if (!VIR_IS_CONNECT(conn)) { virLibConnError(NULL, VIR_ERR_INVALID_CONN, __FUNCTION__); - goto error; + return -1; } if (conn->driver->numOfDomains) { @@ -6451,7 +6451,7 @@ virConnectFindStoragePoolSources(virConnectPtr conn, if (!VIR_IS_CONNECT(conn)) { virLibConnError(NULL, VIR_ERR_INVALID_CONN, __FUNCTION__); - goto error; + return NULL; } if (type == NULL) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); @@ -7339,7 +7339,7 @@ virStoragePoolSetAutostart(virStoragePoolPtr pool, if (!VIR_IS_CONNECTED_STORAGE_POOL(pool)) { virLibStoragePoolError(NULL, VIR_ERR_INVALID_STORAGE_POOL, __FUNCTION__); - goto error; + return -1; } if (pool->conn->flags & VIR_CONNECT_RO) { -- GitLab