Package: reportbug Version: 4.0 Severity: important Tags: patch -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
reportbug-4.0/reportbug/utils.py file does not check if /etc/debian_version, /var/dpkg/status or /proc/cpuinfo are readable before trying to open them. It leads to a reportbug crash if these files are unreadable. In the same idea, utils.py does not check if /proc/cpuinfo exists before trying to read it, which leads to a crash if this file does not exist, e.g on a system where /proc has not been mounted (chrooted environment). Here is a really simple patch to deal with these issues. Regards, Carl Chenet - -- Package-specific info: ** Environment settings: INTERFACE="text" ** /home/chaica/.reportbugrc: reportbug_version "4.0" mode standard ui text realname "Carl Chenet" email "cha...@ohmytux.com" smtphost "smtp.free.fr" - -- System Information: Debian Release: lenny/sid APT prefers hardy-updates APT policy: (500, 'hardy-updates'), (500, 'hardy-security'), (500, 'hardy') Architecture: amd64 (x86_64) Kernel: Linux 2.6.24-23-generic (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages reportbug depends on: ii apt 0.7.9ubuntu17.1 Advanced front-end for dpkg ii python 2.5.2-0ubuntu1 An interactive high-level object-o ii python-central 0.6.7ubuntu0.1 register and build utility for Pyt reportbug recommends no packages. - -- no debconf information -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFJzUmU8lge+lYYJUgRAiTEAKCAQ8xebseXmI7biwL2z0fgYr/SMgCffvN1 2XjR3fmnjYy1+plQqwqOdiw= =ssV7 -----END PGP SIGNATURE-----
430c430,434 < fp = open(STATUSDB) --- > try: > fp = open(STATUSDB) > except IOError, msg: > print msg > sys.exit(1) 658c662,666 < fob = open('/etc/debian_version') --- > try: > fob = open('/etc/debian_version') > except IOError, msg: > print msg > sys.exit(1) 709,715c717,726 < fob = open('/proc/cpuinfo') < for line in fob: < if line.startswith('processor'): < cpucount += 1 < #print repr(line), cpucount < fob.close() < --- > if os.path.exists('/proc/cpuinfo'): > try: > fob = open('/proc/cpuinfo') > for line in fob: > if line.startswith('processor'): > cpucount += 1 > #print repr(line), cpucount > fob.close() > except IOError, msg: > print msg