static bool copy_firmware(struct udev *udev, const char *source, const char *target, size_t size)
{
char *buf;
- FILE *fsource, *ftarget;
+ FILE *fsource = NULL, *ftarget = NULL;
bool ret = false;
buf = malloc(size);
break;
case 'h':
printf("Usage: firmware --firmware=<fwfile> --devpath=<path> [--help]\n\n");
- default:
- rc = 1;
goto exit;
}
}
}
util_path_encode(firmware, fwencpath, sizeof(fwencpath));
- util_strscpyl(misspath, sizeof(misspath), udev_get_dev_path(udev), "/.udev/firmware-missing/", fwencpath, NULL);
+ util_strscpyl(misspath, sizeof(misspath), udev_get_run_path(udev), "/firmware-missing/", fwencpath, NULL);
util_strscpyl(loadpath, sizeof(loadpath), udev_get_sys_path(udev), devpath, "/loading", NULL);
if (fwfile == NULL) {
err = util_create_path(udev, misspath);
if (err != 0 && err != -ENOENT)
break;
- udev_selinux_setfscreatecon(udev, misspath, S_IFLNK);
err = symlink(devpath, misspath);
if (err != 0)
err = -errno;
- udev_selinux_resetfscreatecon(udev);
} while (err == -ENOENT);
rc = 2;
set_loading(udev, loadpath, "-1");