mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-09 05:01:28 +00:00
virNetSocketNewConnectUNIX: Don't unlink(NULL)
There is a possibility that we jump onto error label with @lockpath still initialized to NULL. Here, the @lockpath should be unlink()-ed, but passing there a NULL is not a good idea. Don't do that. In fact, we should call unlink() only if we created the lock file successfully. Reported-by: John Ferlan <jferlan@redhat.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com> (cherry picked from commit 1fdac3d99a8147092075593d84350d80f5b9bb45)
This commit is contained in:
parent
c6e7a9ea64
commit
5328780b5f
@ -622,7 +622,7 @@ int virNetSocketNewConnectUNIX(const char *path,
|
|||||||
usleep(5000);
|
usleep(5000);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lockfd) {
|
if (lockfd != -1) {
|
||||||
unlink(lockpath);
|
unlink(lockpath);
|
||||||
VIR_FORCE_CLOSE(lockfd);
|
VIR_FORCE_CLOSE(lockfd);
|
||||||
VIR_FREE(lockpath);
|
VIR_FREE(lockpath);
|
||||||
@ -640,12 +640,13 @@ int virNetSocketNewConnectUNIX(const char *path,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
if (lockfd)
|
if (lockfd != -1) {
|
||||||
unlink(lockpath);
|
unlink(lockpath);
|
||||||
|
VIR_FORCE_CLOSE(lockfd);
|
||||||
|
}
|
||||||
VIR_FREE(lockpath);
|
VIR_FREE(lockpath);
|
||||||
VIR_FREE(rundir);
|
VIR_FREE(rundir);
|
||||||
VIR_FORCE_CLOSE(fd);
|
VIR_FORCE_CLOSE(fd);
|
||||||
VIR_FORCE_CLOSE(lockfd);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user