Page MenuHomeFreeBSD

D13738.id37416.diff
No OneTemporary

D13738.id37416.diff

Index: usr.bin/patch/inp.c
===================================================================
--- usr.bin/patch/inp.c
+++ usr.bin/patch/inp.c
@@ -213,8 +213,11 @@
/* now scan the buffer and build pointer array */
iline = 1;
i_ptr[iline] = i_womp;
- /* test for NUL too, to maintain the behavior of the original code */
- for (s = i_womp, i = 0; i < i_size && *s != '\0'; s++, i++) {
+ /*
+ * Testing for NUL here actively breaks files that innocently use NUL
+ * for other reasons. mmap(2) succeeded, just scan the whole buffer.
+ */
+ for (s = i_womp, i = 0; i < i_size; s++, i++) {
if (*s == '\n') {
if (iline == lines_allocated) {
if (!reallocate_lines(&lines_allocated))

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 15, 5:40 AM (1 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31522230
Default Alt Text
D13738.id37416.diff (697 B)

Event Timeline