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
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);