This really is a false positive, but easy enough to silence:
*** CID 62578: Failure to restore non-local value (MISSING_RESTORE)
/libusb/os/linux_udev.c: 64 in linux_udev_start_event_monitor()
58 int r;
59
60 assert(udev_ctx == NULL);
61 udev_ctx = udev_new();
62 if (!udev_ctx) {
63 usbi_err(NULL, "could not create udev context");
>>> CID 62578: Failure to restore non-local value (MISSING_RESTORE)
>>> Value of non-local "udev_ctx" that was verified to be "NULL" is not restored as it was along other paths.
64 return LIBUSB_ERROR_OTHER;
65 }
66
67 udev_monitor = udev_monitor_new_from_netlink(udev_ctx, "udev");
68 if (!udev_monitor) {
69 usbi_err(NULL, "could not initialize udev monitor");
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
udev_ctx = udev_new();
if (!udev_ctx) {
usbi_err(NULL, "could not create udev context");
- return LIBUSB_ERROR_OTHER;
+ goto err;
}
udev_monitor = udev_monitor_new_from_netlink(udev_ctx, "udev");
udev_monitor_fd = -1;
err_free_ctx:
udev_unref(udev_ctx);
+err:
udev_ctx = NULL;
return LIBUSB_ERROR_OTHER;
}
-#define LIBUSB_NANO 10897
+#define LIBUSB_NANO 10898