提交 4ed2c377 编写于 作者: M Matthias Bolte

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
上级 2f4682a9
...@@ -1243,9 +1243,7 @@ virNodeDeviceGetWWNs(virConnectPtr conn, ...@@ -1243,9 +1243,7 @@ virNodeDeviceGetWWNs(virConnectPtr conn,
virNodeDeviceReportError(conn, VIR_ERR_NO_SUPPORT, virNodeDeviceReportError(conn, VIR_ERR_NO_SUPPORT,
"%s", _("Device is not a fibre channel HBA")); "%s", _("Device is not a fibre channel HBA"));
ret = -1; ret = -1;
} } else if (*wwnn == NULL || *wwpn == NULL) {
if (*wwnn == NULL || *wwpn == NULL) {
/* Free the other one, if allocated... */ /* Free the other one, if allocated... */
VIR_FREE(wwnn); VIR_FREE(wwnn);
VIR_FREE(wwpn); VIR_FREE(wwpn);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册