Merge lp:~alexmurray/apport/apport into lp:~apport-hackers/apport/trunk

Proposed by Alex Murray
Status: Merged
Merged at revision: 3254
Proposed branch: lp:~alexmurray/apport/apport
Merge into: lp:~apport-hackers/apport/trunk
Diff against target: 32 lines (+13/-3)
1 file modified
apport/report.py (+13/-3)
To merge this branch: bzr merge lp:~alexmurray/apport/apport
Reviewer Review Type Date Requested Status
Apport upstream developers Pending
Review via email: mp+369843@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'apport/report.py'
2--- apport/report.py 2019-05-16 18:48:29 +0000
3+++ apport/report.py 2019-07-09 02:13:39 +0000
4@@ -978,15 +978,25 @@
5 ifpath = os.path.expanduser(_ignore_file)
6 if orig_home is not None:
7 os.environ['HOME'] = orig_home
8- if not os.access(ifpath, os.R_OK) or os.path.getsize(ifpath) == 0:
9+ euid = os.geteuid()
10+ try:
11+ # drop permissions temporarily to try open users ignore file
12+ os.seteuid(os.getuid())
13+ fp = open(ifpath, 'r')
14+ except (IOError, OSError):
15+ fp = None
16+ finally:
17+ os.seteuid(euid)
18+ if fp is None or os.fstat(fp.fileno()).st_size == 0:
19 # create a document from scratch
20 dom = xml.dom.getDOMImplementation().createDocument(None, 'apport', None)
21 else:
22 try:
23- dom = xml.dom.minidom.parse(ifpath)
24+ dom = xml.dom.minidom.parse(fp)
25 except ExpatError as e:
26 raise ValueError('%s has invalid format: %s' % (_ignore_file, str(e)))
27-
28+ if fp is not None:
29+ fp.close()
30 # remove whitespace so that writing back the XML does not accumulate
31 # whitespace
32 dom.documentElement.normalize()

Subscribers

People subscribed via source and target branches