diff options
author | Michal Zidek <mzidek@redhat.com> | 2013-04-03 17:04:41 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2013-04-05 17:22:29 +0200 |
commit | e391eb27c711a5d51f7a5ad92928212fdcb3133a (patch) | |
tree | fcd26f591b4e83f269971abe2f6a0310696c646d /src/tools/tools_util.c | |
parent | 4d09e8abf9f4306d3d6add88ee9100373c421c74 (diff) | |
download | sssd-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.c | 11 |
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; |