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 | |
parent | 4d09e8abf9f4306d3d6add88ee9100373c421c74 (diff) | |
download | sssd-e391eb27c711a5d51f7a5ad92928212fdcb3133a.tar.gz sssd-e391eb27c711a5d51f7a5ad92928212fdcb3133a.tar.bz2 sssd-e391eb27c711a5d51f7a5ad92928212fdcb3133a.zip |
Check for waitpid failure at wrong place.
Coverity bugs.
https://fedorahosted.org/sssd/ticket/1865
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/sss_userdel.c | 8 | ||||
-rw-r--r-- | src/tools/tools_util.c | 11 |
2 files changed, 9 insertions, 10 deletions
diff --git a/src/tools/sss_userdel.c b/src/tools/sss_userdel.c index 2cf77596..ac87a736 100644 --- a/src/tools/sss_userdel.c +++ b/src/tools/sss_userdel.c @@ -101,15 +101,15 @@ static int kick_user(struct tools_ctx *tctx) } while((child_pid = waitpid(pid, &status, 0)) > 0) { - if (child_pid == -1) { - DEBUG(1, ("waitpid failed\n")); - return errno; - } if (WIFEXITED(status)) { break; } } + if (child_pid == -1) { + DEBUG(SSSDBG_CRIT_FAILURE, ("waitpid failed\n")); + return errno; + } } return EOK; diff --git a/src/tools/tools_util.c b/src/tools/tools_util.c index 85164c61..1ad5326e 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; |