提交 3f43bb83 编写于 作者: M Martin Kletzander

util: fix releasing pidfile in cleanup

Coverity found out the very obvious problem in the code.  That is that
virPidFileReleasePath() was called only if
virPidFileAcquirePath() returned 0.  But virPidFileAcquirePath() doesn't
return only 0 on success, but the FD that needs to be closed.
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
上级 c3012a02
......@@ -592,9 +592,8 @@ virPidFileForceCleanupPath(const char *path)
if (virPidFileReadPath(path, &pid) < 0)
return -1;
if (virPidFileAcquirePath(path, false, 0) == 0) {
virPidFileReleasePath(path, fd);
} else {
fd = virPidFileAcquirePath(path, false, 0);
if (fd < 0) {
virResetLastError();
/* Only kill the process if the pid is valid one. 0 means
......@@ -607,5 +606,8 @@ virPidFileForceCleanupPath(const char *path)
return -1;
}
if (fd)
virPidFileReleasePath(path, fd);
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册