Dear Axel,

upon further investigation it does not look as if this is a bug in
checkrestart per se. checkrestart correctly (cf. proc(5)) assumed that
/proc/[pid]/cmdline is a set of string that is separated by null bytes with a
further null byte at the end.

The reason checkrestart runs into a problem here is that spamd rewrites its
command line in such a way that argv[0] is space separated. In particular
/usr/sbin/spamd contains the following:

    sub daemonize {
        # Pretty command line in ps
        $0 = join (' ', $ORIG_ARG0, @ORIG_ARGV) unless would_log("dbg");
        ...

which incorrectly joins the path with spaces and not null bytes for
"prettiness". I would therefore argue that this is a bug in spamd and not in
checkrestart itself. It would still be nice if checkrestart could handle this
situation gracefully.
-- 
Wolodja <deb...@babilen5.org>

4096R/CAF14EFC
081C B7CD FF04 2BA9 94EA  36B2 8B7F 7D30 CAF1 4EFC

Attachment: signature.asc
Description: Digital signature

Reply via email to