From: Marc Hartmayer Date: Fri, 10 Feb 2017 09:44:44 +0000 (+0100) Subject: node_device: Check return value for udev_new() X-Git-Tag: CVE-2017-2635~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3427b36cc1744eb29554900f13c21b4d5de32a62;p=thirdparty%2Flibvirt.git node_device: Check return value for udev_new() The comment was actually wrong as https://www.freedesktop.org/software/systemd/man/udev_new.html# mentions that on failure NULL is returned. Also the same return value is checked in src/interface/interface_backend_udev.c already. Signed-off-by: Marc Hartmayer --- diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 6a91e0722f..1016075752 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1563,13 +1563,12 @@ static int nodeStateInitialize(bool privileged, if (udevPCITranslateInit(privileged) < 0) goto cleanup; - /* - * http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/libudev-udev.html#udev-new - * - * indicates no return value other than success, so we don't check - * its return value. - */ udev = udev_new(); + if (!udev) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("failed to create udev context")); + goto cleanup; + } #if HAVE_UDEV_LOGGING /* cast to get rid of missing-format-attribute warning */ udev_set_log_fn(udev, (udevLogFunctionPtr) udevLogFunction);