ssize_t len;
int i;
int back;
- char *base;
+ char *base = NULL;
len = readlink(syspath, link_target, sizeof(link_target));
if (len <= 0 || len == (ssize_t)sizeof(link_target))
for (i = 0; i <= back; i++) {
base = strrchr(syspath, '/');
if (base == NULL)
- return -1;
+ return -EINVAL;
base[0] = '\0';
}
+ if (base == NULL)
+ return -EINVAL;
dbg(udev, "after moving back '%s'\n", syspath);
util_strscpyl(base, size - (base - syspath), "/", &link_target[back * 3], NULL);
return 0;