summaryrefslogtreecommitdiffstats
path: root/src/tools/tools_util.c
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2013-04-03 17:04:41 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-04-05 17:22:29 +0200
commite391eb27c711a5d51f7a5ad92928212fdcb3133a (patch)
treefcd26f591b4e83f269971abe2f6a0310696c646d /src/tools/tools_util.c
parent4d09e8abf9f4306d3d6add88ee9100373c421c74 (diff)
downloadsssd-e391eb27c711a5d51f7a5ad92928212fdcb3133a.tar.gz
sssd-e391eb27c711a5d51f7a5ad92928212fdcb3133a.tar.xz
sssd-e391eb27c711a5d51f7a5ad92928212fdcb3133a.zip
Check for waitpid failure at wrong place.
Coverity bugs. https://fedorahosted.org/sssd/ticket/1865
Diffstat (limited to 'src/tools/tools_util.c')
-rw-r--r--src/tools/tools_util.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/tools/tools_util.c b/src/tools/tools_util.c
index 85164c612..1ad5326e3 100644
--- a/src/tools/tools_util.c
+++ b/src/tools/tools_util.c
@@ -538,12 +538,6 @@ int run_userdel_cmd(struct tools_ctx *tctx)
}
while((child_pid = waitpid(pid, &status, 0)) > 0) {
- if (child_pid == -1) {
- DEBUG(1, ("waitpid failed\n"));
- ret = errno;
- goto done;
- }
-
if (WIFEXITED(status)) {
ret = WEXITSTATUS(status);
if (ret != 0) {
@@ -567,6 +561,11 @@ int run_userdel_cmd(struct tools_ctx *tctx)
goto done;
}
}
+ if (child_pid == -1) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("waitpid failed\n"));
+ ret = errno;
+ goto done;
+ }
}
ret = EOK;