summaryrefslogtreecommitdiff
path: root/source3/lib/util.c
diff options
context:
space:
mode:
authorMartin Pool <mbp@samba.org>2002-03-20 06:57:03 +0000
committerMartin Pool <mbp@samba.org>2002-03-20 06:57:03 +0000
commit75722fa183d1678bc7360bc79f9ac8cf17cd62e3 (patch)
treee0d46b5c43e731ddba89fb1e632ccef081e100ad /source3/lib/util.c
parenta17b5158f1fad6702187afcd1c39684eb4d2ed34 (diff)
downloadsamba-75722fa183d1678bc7360bc79f9ac8cf17cd62e3.tar.gz
samba-75722fa183d1678bc7360bc79f9ac8cf17cd62e3.tar.bz2
samba-75722fa183d1678bc7360bc79f9ac8cf17cd62e3.zip
Add assertions that kill() is never accidentally passed a non-positive
pid. This follows a bug in rsync where it would accidentally kill(-1), removing all the user's processes. I can't see any way this would directly happen in Samba, but having the assertions seems beneficial. http://cvs.samba.org/cgi-bin/cvsweb/rsync/util.c.diff?r1=1.108&r2=1.109&f=h (This used to be commit 098905bea29c7d5b886809d431294ddf2fc1e152)
Diffstat (limited to 'source3/lib/util.c')
-rw-r--r--source3/lib/util.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 8867d37d57..a2f8c086e8 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1034,6 +1034,9 @@ check if a process exists. Does this work on all unixes?
BOOL process_exists(pid_t pid)
{
+ /* Doing kill with a non-positive pid causes messages to be
+ * sent to places we don't want. */
+ SMB_ASSERT(pid > 0);
return(kill(pid,0) == 0 || errno != ESRCH);
}