summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2011-02-09 20:25:03 +0000
committerTom Yu <tlyu@mit.edu>2011-02-09 20:25:03 +0000
commita2231ea83d401ec8811c69f7133656caaa1d9667 (patch)
tree5739b299d83359150b9e36cd85605d223a2087e8
parent009b13f993e9aa56f275365f21158cfa636b5906 (diff)
downloadkrb5-a2231ea83d401ec8811c69f7133656caaa1d9667.tar.gz
krb5-a2231ea83d401ec8811c69f7133656caaa1d9667.tar.xz
krb5-a2231ea83d401ec8811c69f7133656caaa1d9667.zip
kpropd denial of service [MITKRB5-SA-2011-001 CVE-2010-4022]
When operating in standalone mode and not doing iprop, don't return from do_standalone() if the child exits with abnormal status. ticket: 6859 tags: pullup target_version: 1.9.1 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24621 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/slave/kpropd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c
index a1d458348b..91c11e9558 100644
--- a/src/slave/kpropd.c
+++ b/src/slave/kpropd.c
@@ -414,11 +414,11 @@ retry:
}
close(s);
- if (iproprole == IPROP_SLAVE)
+ if (iproprole == IPROP_SLAVE) {
close(finet);
-
- if ((ret = WEXITSTATUS(status)) != 0)
- return (ret);
+ if ((ret = WEXITSTATUS(status)) != 0)
+ return (ret);
+ }
}
if (iproprole == IPROP_SLAVE)
break;