From f80e399ab26ea23ba258f885cec7c6c28c62baaa Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 28 Jun 2012 11:04:25 +0930 Subject: source4/smbd/pidfile: don't panic if pid file is corrupt. In particular, on a virtual machine after a forced reboot, it contained "Ille" instead of a valid PID. Given it was the right length, I'm assuming it was filesystem corruption. process_exists_by_pid() then panics, when given a pid < 1. Reported-by: lostogre on #samba-technical Signed-off-by: Rusty Russell Autobuild-User(master): Rusty Russell Autobuild-Date(master): Thu Jun 28 05:19:24 CEST 2012 on sn-devel-104 --- source4/smbd/pidfile.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source4/smbd') diff --git a/source4/smbd/pidfile.c b/source4/smbd/pidfile.c index b7d1c27cd0..32d3964302 100644 --- a/source4/smbd/pidfile.c +++ b/source4/smbd/pidfile.c @@ -57,6 +57,9 @@ pid_t pidfile_pid(const char *piddir, const char *name) } ret = (pid_t)atoi(pidstr); + if (ret <= 0) { + goto noproc; + } if (!process_exists_by_pid(ret)) { goto noproc; -- cgit