From 4ed2c3773e0c462ba3af628f62357cc6d9b61718 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Wed, 21 Oct 2009 22:27:09 +0200 Subject: [PATCH] Fix potential false-positive OOM error reporting. If no matching device was found (cap == NULL) then no strdup() call was made and *wwnn and *wwpn are untouched. Checking them for NULL in this situation may result in reporting an false-positive OOM error because *wwnn and *wwpn may be initialized to NULL by the caller. Only check *wwnn and *wwpn for NULL if a matching device was found (cap != NULL) and thus strdup() was called. * src/conf/node_device_conf.c: only report an OOM error if there really is one --- src/conf/node_device_conf.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 77f7be31ed..c2c5a44438 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -1243,9 +1243,7 @@ virNodeDeviceGetWWNs(virConnectPtr conn, virNodeDeviceReportError(conn, VIR_ERR_NO_SUPPORT, "%s", _("Device is not a fibre channel HBA")); ret = -1; - } - - if (*wwnn == NULL || *wwpn == NULL) { + } else if (*wwnn == NULL || *wwpn == NULL) { /* Free the other one, if allocated... */ VIR_FREE(wwnn); VIR_FREE(wwpn); -- GitLab