Bug ID 1111572
Summary patch segfaults if it can't write *.orig
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Development
Assignee jdelvare@suse.com
Reporter suse-beta@cboltz.de
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

Created attachment 785784 [details]
reproducer (tar.gz)

Tumbleweed 20181009, patch-2.7.6-3.5.x86_64

I tried to apply a (non-matching) patch, and when patch tried to create the
*.orig file, it printed a long list of error messages:

# patch cleanprofile.py < changes.diff
patch: **** Can't create file cleanprofile.py.orig : Permission denied
patch: **** Can't create file cleanprofile.py.orig : Permission denied
patch: **** Can't create file cleanprofile.py.orig : Permission denied
patch: **** Can't create file cleanprofile.py.orig : Permission denied
patch: **** Can't create file cleanprofile.py.orig : Permission denied
[...]
patch: **** Can't create file cleanprofile.py.orig : Permission denied
patch: **** Can't create file cleanprofile.py.orig : Permission denied
patch: **** Can't create file cleanprofile.py.orig : Permission denied
patch: **** Can't create file cleanprofile.py.origSegmentation fault (core
dumped)

I'd expect _one_ "Permission denied" message, and no segfault.

Reproducer:
- unpack the attached tarball (as user)
- chown root cleanprofile.py.orig (obviously as root)
- run   patch cleanprofile.py < changes.diff   as user

Note: This seems to be related to the files in the attached tarball. If I try
with a simple one-line file and a boring patch, patch doesn't segfault. The
reproducer files must have something special that send patch into an endless
loop.


You are receiving this mail because: