The virPidFileReadPath() function is supposed to return 0 on success or a negative value on failure. But the negative value has a special meaning - it's negated errno. Therefore, when converting string to int we shouldn't return -1 which translates to EPERM. Returning EINVAL looks closer to the truth. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- src/util/virpidfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/virpidfile.c b/src/util/virpidfile.c index a8a743504d..d5aa5f4f84 100644 --- a/src/util/virpidfile.c +++ b/src/util/virpidfile.c @@ -130,7 +130,7 @@ int virPidFileReadPath(const char *path, if (virStrToLong_ll(pidstr, &endptr, 10, &pid_value) < 0 || !(*endptr == '\0' || g_ascii_isspace(*endptr)) || (pid_t) pid_value != pid_value) { - rc = -1; + rc = -EINVAL; goto cleanup; } -- 2.24.1