It might happen that virFileResolveLinkHelper fails on the lstat system
call. virFileResolveLink expects the caller to report an error when it
fails, however this wasn't the case for udevProcessMediatedDevice.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
src/node_device/node_device_udev.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 4762f1969..80c346e96 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1121,8 +1121,10 @@ udevProcessMediatedDevice(struct udev_device *dev,
if (virAsprintf(&linkpath, "%s/mdev_type",
udev_device_get_syspath(dev)) < 0)
goto cleanup;
- if (virFileResolveLink(linkpath, &canonicalpath) < 0)
+ if (virFileResolveLink(linkpath, &canonicalpath) < 0) {
+ virReportSystemError(errno, _("failed to resolve '%s'"),
linkpath);
goto cleanup;
+ }
if (VIR_STRDUP(data->type, last_component(canonicalpath)) < 0)
goto cleanup;
--
2.13.3