Package: debian-goodies
Version: 0.62
Severity: important
Tags: patch

Dear maintainer,

the new version of checkrestart causes an IndexError when it is executed. If I
run checkrestart now I get:

    # checkrestart 
    Traceback (most recent call last):
    File "/usr/sbin/checkrestart", line 625, in <module>
        main()
    File "/usr/sbin/checkrestart", line 131, in main
        toRestart = lsofcheck(blacklist = blacklist)
    File "/usr/sbin/checkrestart", line 284, in lsofcheck
        process = processes.setdefault(data,Process(int(data)))
    File "/usr/sbin/checkrestart", line 540, in __init__
        m = re.match("^-", data[0])
    IndexError: list index out of range

This is due to patch 3df2df9 which changed the cmdline parsing in the Process
class. In particular the assumption that '\x00' is the only valid separator
between elements of the command line seems to be wrong. I fixed this error
with the following patch:

    commit 8c5824bc920eef4333ece8ce477db39015322700
    Author: Wolodja Wentland <deb...@babilen5.org>
    Date:   Fri Jul 5 11:37:19 2013 +0100

        Fix IndexError during cmdline parsing

    diff --git a/checkrestart b/checkrestart
    index d535f2b..1793f7f 100755
    --- a/checkrestart
    +++ b/checkrestart
    @@ -532,7 +532,8 @@ class Process:
                        # only match program in /usr (ex.: /usr/sbin/smokeping)
                        # ignore child, etc.
                        #m = re.search(r'^(([/]\w*){1,5})\s.*$', cmdline.read())
    -                    data = cmdline.read().split('\x00')
    +                    data = cmdline.read()
    +                    data = re.split(r'\x00|\s+', data)
                        if not data[-1]: data.pop()
                        # Strip first value, the interpreter
                        data.pop(0)

but am not entirely sure if this is the best way to deal with this problem. It
fixes this bug, but might introduce other side-effects. I would be happy to
commit it to collab-maint or to discuss it on IRC (babilen).

Have a nice day

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.9-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf-8, LC_CTYPE=en_GB.utf-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages debian-goodies depends on:
ii  curl                      7.31.0-2
ii  dctrl-tools [grep-dctrl]  2.23
ii  dialog                    1.2-20130523-1
ii  perl                      5.14.2-21
ii  python                    2.7.5-2
ii  whiptail                  0.52.15-2

Versions of packages debian-goodies recommends:
ii  lsof  4.86+dfsg-1

Versions of packages debian-goodies suggests:
ii  popularity-contest  1.58
ii  xdg-utils           1.1.0~rc1+git20111210-7
ii  zenity              3.8.0-1

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to