apport-hackers team mailing list archive
-
apport-hackers team
-
Mailing list archive
-
Message #00301
[Merge] lp:~alexmurray/apport/apport into lp:apport
Alex Murray has proposed merging lp:~alexmurray/apport/apport into lp:apport.
Requested reviews:
Apport upstream developers (apport-hackers)
For more details, see:
https://code.launchpad.net/~alexmurray/apport/apport/+merge/369843
--
Your team Apport upstream developers is requested to review the proposed merge of lp:~alexmurray/apport/apport into lp:apport.
=== modified file 'apport/report.py'
--- apport/report.py 2019-05-16 18:48:29 +0000
+++ apport/report.py 2019-07-09 02:13:39 +0000
@@ -978,15 +978,25 @@
ifpath = os.path.expanduser(_ignore_file)
if orig_home is not None:
os.environ['HOME'] = orig_home
- if not os.access(ifpath, os.R_OK) or os.path.getsize(ifpath) == 0:
+ euid = os.geteuid()
+ try:
+ # drop permissions temporarily to try open users ignore file
+ os.seteuid(os.getuid())
+ fp = open(ifpath, 'r')
+ except (IOError, OSError):
+ fp = None
+ finally:
+ os.seteuid(euid)
+ if fp is None or os.fstat(fp.fileno()).st_size == 0:
# create a document from scratch
dom = xml.dom.getDOMImplementation().createDocument(None, 'apport', None)
else:
try:
- dom = xml.dom.minidom.parse(ifpath)
+ dom = xml.dom.minidom.parse(fp)
except ExpatError as e:
raise ValueError('%s has invalid format: %s' % (_ignore_file, str(e)))
-
+ if fp is not None:
+ fp.close()
# remove whitespace so that writing back the XML does not accumulate
# whitespace
dom.documentElement.normalize()
Follow ups