[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-patch] Segfault with nonexisting file because of infinite loop
From: |
Martin Michlmayr |
Subject: |
[bug-patch] Segfault with nonexisting file because of infinite loop |
Date: |
Fri, 5 Apr 2019 14:47:46 +0700 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
This happens with GNU patch 2.7.6 and the latest Git checkout:
- Save the attached patch file as "p".
- Make sure file 'R' does _not_ exist
- cat ~/p | patch -p3 R
patching file R
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file R.rej
./patch: **** Can't reopen file R : No such file or directory
./patch: **** Can't reopen file R : No such file or directory
./patch: **** Can't reopen file R : No such file or directory
...
./patch: **** Can't create file R.orig : Too many open files
./patch: **** Can't create file R.origzsh: done cat p |
zsh: segmentation fault ./patch -p3 R
Program received signal SIGSEGV, Segmentation fault.
_IO_vfprintf_internal (address@hidden <_IO_2_1_stderr_>, format=0x7ffff7f7099f
"%s%s%s\n", ap=0x7fffff7ff5a0) at vfprintf.c:1315
1315 vfprintf.c: No such file or directory.
(gdb) where
#0 _IO_vfprintf_internal (address@hidden <_IO_2_1_stderr_>,
format=0x7ffff7f7099f "%s%s%s\n", ap=0x7fffff7ff5a0) at vfprintf.c:1315
#1 0x00007ffff7e5b558 in locked_vfxprintf (address@hidden <_IO_2_1_stderr_>,
fmt=<optimized out>, address@hidden "%s%s%s\n",
address@hidden) at fxprintf.c:30
#2 0x00007ffff7e5b6d9 in __fxprintf (address@hidden <_IO_2_1_stderr_>,
address@hidden "%s%s%s\n") at fxprintf.c:74
#3 0x00007ffff7e58e8e in perror_internal (fp=0x7ffff7fa8680 <_IO_2_1_stderr_>,
address@hidden " ", errnum=<optimized out>) at perror.c:39
#4 0x00007ffff7e58f0b in __GI_perror (address@hidden " ") at perror.c:67
#5 0x0000555555565c8d in pfatal (address@hidden "Can't create file %s") at
util.c:958
#6 0x0000555555565fa0 in create_file (open_flags=<optimized out>,
mode=<optimized out>, to_dir_known_to_exist=<optimized out>, file=<optimized
out>)
at util.c:569
#7 create_file (file=0x5555555e59a0 "R.orig", open_flags=<optimized out>,
mode=33188, to_dir_known_to_exist=<optimized out>) at util.c:553
#8 0x00005555555661da in copy_file (address@hidden "R", address@hidden
"R.orig", address@hidden,
address@hidden, mode=<optimized out>, address@hidden) at util.c:628
#9 0x000055555556638e in create_backup_copy (address@hidden "R",
address@hidden "R.orig", address@hidden,
address@hidden) at util.c:309
#10 0x0000555555566796 in create_backup (to=0x55555558d480 "R",
to_st=0x5555555902d8, leave_original=<optimized out>) at util.c:402
#11 0x000055555555da32 in output_files (st=0x0) at patch.c:1950
#12 0x000055555555e3b8 in fatal_exit (address@hidden) at patch.c:1979
#13 0x0000555555565ca0 in pfatal (address@hidden "Can't create file %s") at
util.c:960
#14 0x0000555555565fa0 in create_file (open_flags=<optimized out>,
mode=<optimized out>, to_dir_known_to_exist=<optimized out>, file=<optimized
out>)
at util.c:569
#15 create_file (file=0x5555555e5980 "R.orig", open_flags=<optimized out>,
mode=33188, to_dir_known_to_exist=<optimized out>) at util.c:553
#16 0x00005555555661da in copy_file (address@hidden "R", address@hidden
"R.orig", address@hidden,
address@hidden, mode=<optimized out>, address@hidden) at util.c:628
#17 0x000055555556638e in create_backup_copy (address@hidden "R",
address@hidden "R.orig", address@hidden,
address@hidden) at util.c:309
#18 0x0000555555566796 in create_backup (to=0x55555558d480 "R",
to_st=0x5555555902d8, leave_original=<optimized out>) at util.c:402
#19 0x000055555555da32 in output_files (st=0x0) at patch.c:1950
--
Martin Michlmayr
https://www.cyrius.com/
p
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug-patch] Segfault with nonexisting file because of infinite loop,
Martin Michlmayr <=