]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: pidfile: Sanitize return values of virPidFileReadIfAlive
authorPeter Krempa <pkrempa@redhat.com>
Wed, 13 Nov 2019 11:57:01 +0000 (12:57 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 14 Nov 2019 11:42:09 +0000 (12:42 +0100)
Return -1 on failure rather than -errno since none of the callers
actually cares about the return value. This specifically fixes returns
of -ENOMEM in cases of bad usage, which would report wrong error
anyways.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/util/virpidfile.c

index 3e78735c9c804030c110256c29ed22a75bc64c98..b1b8e549931579dfb95c6b34d038e4af59730615 100644 (file)
@@ -282,7 +282,7 @@ int virPidFileReadPathIfAlive(const char *path,
  * and its executable path resolves to @binpath. This adds
  * protection against recycling of previously reaped pids.
  *
- * Returns -errno upon error, or zero on successful
+ * Returns -1 upon error, or zero on successful
  * reading of the pidfile. If the PID was not still
  * alive, zero will be returned, but @pid will be
  * set to -1.
@@ -295,12 +295,15 @@ int virPidFileReadIfAlive(const char *dir,
     g_autofree char *pidfile = NULL;
 
     if (name == NULL || dir == NULL)
-        return -EINVAL;
+        return -1;
 
     if (!(pidfile = virPidFileBuildPath(dir, name)))
-        return -ENOMEM;
+        return -1;
+
+    if (virPidFileReadPathIfAlive(pidfile, pid, binpath) < 0)
+        return -1;
 
-    return virPidFileReadPathIfAlive(pidfile, pid, binpath);
+    return 0;
 }