The NetBSD Project

CVS log for src/usr.bin/patch/pch.c

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / patch

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.32 / (download) - annotate - [select for diffs], Tue May 25 11:25:59 2021 UTC (5 months ago) by cjep
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, HEAD
Changes since 1.31: +49 -45 lines
Diff to previous 1.31 (colored)

As per OpenBSD, use malloc for the line buffer. Fixes the known issue
with long lines and makes our ATF test suite pass fully.
Closes PR bin/54620 from coypu who suggested the approach.
Reviewed by christos.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Nov 17 20:49:12 2020 UTC (11 months, 1 week ago) by rhialto
Branch: MAIN
CVS Tags: cjep_staticlib_x-base
Branch point for: cjep_staticlib_x
Changes since 1.30: +6 -11 lines
Diff to previous 1.30 (colored)

Remove heuristic for dealing with trailing newlines being truncated by mailers.

Patch and explanation taken from bsdimp:
https://bsdimp.blogspot.com/2020/08/a-35-year-old-bug-in-patch-found-in.html
https://svnweb.freebsd.org/base?view=revision&revision=364291

Every version of patch since the first one posted to mod.sources in 1985 have
included a heuristic for coping with the state of email messaging at the
time. This heuristic would add up to 4 blank lines to a patch if it thought it
needed it. The trouble is, though this causes at least one bug.

The bug in my case is that if you have a context diff whose last hunk only
deletes 3 or fewer lines, then if you try to reverse apply it with -R, it will
fail. The reason for this is the heuristic builds an internal representation
that includes those blank lines. However, it should really replicate the lines
from the pattern lines line it would any other time, not assume they are blank
lines. Removing this heuristic will prevent patch from misapplying the lines
removed after applying a 'fuzz' factor to the previous blank line in the file. I
believe this will only affect 'new-style' 4.3BSD context diffs and not the
older-style 4.2BSD diffs and plain, non-context diffs. It won't affect any of
the newer formats, since they don't use the 'omitted' construct in the same way.

Since this heuristic was put into patch at a time when email / etc ate trailing
white space on a regular basis, and since it's clear that this heuristic is the
wrong thing to do at least some of the time, it's better to remove it
entirely. It's not been needed for maybe 20 years since patch files are not
usually corrupted. If there are a small number of patch files that would benefit
from this corruption fixing, those already-currupt patches can be fixed by the
addition of blank lines. I'd wager that no one will ever come to me with an
example of a once-working patch file that breaks with this change. However, I
have 2 patches from the first 195 patches to 2.11BSD that are affected by this
bug, suggesting that the relative frequency of the issue has changed
signficantly since the original heuristic was put into place.

Revision 1.30 / (download) - annotate - [select for diffs], Mon Jun 18 18:33:31 2018 UTC (3 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, is-mlppp-base, is-mlppp
Changes since 1.29: +5 -5 lines
Diff to previous 1.29 (colored)

Keep things portable (requested by joerg) by not depending on reallocarr
and instead doing the overflow check ourselves.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Apr 5 18:50:10 2018 UTC (3 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407
Changes since 1.28: +4 -4 lines
Diff to previous 1.28 (colored)

Pass -S to ed(1) so that patches containing ! commands don't run commands.
Real cause of CVS-2018-0492:
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894667)

Revision 1.28 / (download) - annotate - [select for diffs], Thu Jul 30 21:47:51 2015 UTC (6 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat, netbsd-8
Changes since 1.27: +16 -3 lines
Diff to previous 1.27 (colored)

from bitrieg:

Substitution commands might contain a newline in the replacement pattern
(escaped with a backslash before it), causing patch's understanding of
the state the ed child process is in to diverge from reality. This can
lead to patch unwillingly feeding '!' (execute shell command) lines to
ed. Finding out how to do this is left as an exercise to the reader.

XXX: pullup-7

Revision 1.27 / (download) - annotate - [select for diffs], Thu Nov 27 15:07:23 2014 UTC (6 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.26: +4 -4 lines
Diff to previous 1.26 (colored)

PR/49422: Ryo ONODERA: patch(1) cannot handle context diffs

Revision 1.26 / (download) - annotate - [select for diffs], Wed Nov 26 00:31:32 2014 UTC (6 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.25: +67 -35 lines
Diff to previous 1.25 (colored)

Avoid coredumps when the linenumbers in the hunks turn negative.
From: http://marc.info/?l=openbsd-tech&m=141693055412785

XXX: pullup 7

Revision 1.25 / (download) - annotate - [select for diffs], Tue Jan 29 09:30:11 2013 UTC (8 years, 8 months ago) by wiz
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-base, agc-symver-base, agc-symver
Branch point for: netbsd-7
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

Add comma after i.e.
From Bug Hunting.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Sep 6 18:25:14 2011 UTC (10 years, 1 month ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

Consistently use __dead and __printflike.

Revision 1.23 / (download) - annotate - [select for diffs], Fri Sep 19 18:33:34 2008 UTC (13 years, 1 month ago) by joerg
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-premerge-20091211, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.22: +1075 -886 lines
Diff to previous 1.22 (colored)

Update patch to the version used by DragonFly and derived from OpenBSD.
Major changes are:
- better detection of double applied patches
- rejects remain unified diffs for unified patches
- far less limitations, e.g. patch lines may be arbitrary long

This addresses PR standards/11220 by changing patch -b behavior to be
POSIX compliant. Old behavior can be obtained using --suffix, which
works since NetBSD 1.4. pkgsrc has been adjusted accordingly.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Sep 26 16:36:07 2006 UTC (15 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf
Changes since 1.21: +4 -3 lines
Diff to previous 1.21 (colored)

PR/34627: Lubomir Kundrak: patch(1) segfaults, when fed from stdin in batch
or force mode

Revision 1.21 / (download) - annotate - [select for diffs], Wed May 24 16:43:35 2006 UTC (15 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: chap-midi-nbase, chap-midi-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.20: +6 -3 lines
Diff to previous 1.20 (colored)

Coverity CID 3510: Don't leak memory.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Apr 9 19:03:32 2006 UTC (15 years, 6 months ago) by christos
Branch: MAIN
Branch point for: chap-midi
Changes since 1.19: +18 -8 lines
Diff to previous 1.19 (colored)

Coverity CID 2078, 2079, 2080: Plug memory leaks.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Jul 30 08:51:04 2003 UTC (18 years, 3 months ago) by itojun
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.18: +21 -17 lines
Diff to previous 1.18 (colored)

use bounded string op

Revision 1.18 / (download) - annotate - [select for diffs], Sat Jul 12 13:47:44 2003 UTC (18 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.17: +25 -2 lines
Diff to previous 1.17 (colored)

copyright missing in files, copy them from README

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jun 1 22:04:29 2003 UTC (18 years, 4 months ago) by kristerw
Branch: MAIN
Changes since 1.16: +149 -139 lines
Diff to previous 1.16 (colored)

Shorten long lines.
Some whitespace changes to get closer to KNF.

Revision 1.16 / (download) - annotate - [select for diffs], Fri May 30 18:14:13 2003 UTC (18 years, 5 months ago) by kristerw
Branch: MAIN
Changes since 1.15: +27 -103 lines
Diff to previous 1.15 (colored)

Simplify handling of memory allocation, and make sure all return values
from malloc etc. are handled.

This removes the old behavior to retry the operation with a less memory-
consuming method in case malloc failed (this mechanism has never really
worked, and is hard to test.  Besides, it is less useful now than it was
20 years ago when the code was written...)

Revision 1.15 / (download) - annotate - [select for diffs], Thu May 29 00:59:24 2003 UTC (18 years, 5 months ago) by kristerw
Branch: MAIN
Changes since 1.14: +50 -50 lines
Diff to previous 1.14 (colored)

Be consistent with use of types (e.g. do not use LINENUM for quantities
that are not line numbers).

Revision 1.14 / (download) - annotate - [select for diffs], Sun Apr 20 19:37:08 2003 UTC (18 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.13: +26 -13 lines
Diff to previous 1.13 (colored)

PR/5123: Ignatios Souvatzis: make patch exit gracefully on malformed input.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Mar 24 01:56:20 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, fvdl_fs64_base
Changes since 1.12: +66 -2 lines
Diff to previous 1.12 (colored)

Handle patches in which diff(1) has added lines saying
   "\ No newline at end of file"

Revision 1.12 / (download) - annotate - [select for diffs], Sat Mar 16 23:55:02 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.11: +17 -10 lines
Diff to previous 1.11 (colored)

Don't leak memory if realloc fails
Spell "FALLTHROUGH" correctly

Revision 1.11 / (download) - annotate - [select for diffs], Sat Mar 16 22:36:42 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.10: +16 -15 lines
Diff to previous 1.10 (colored)

Check result of malloc and strdup
Made some functions static
Removed unneccessary buffer
Increased size of some buffers that could overflow

Revision 1.10 / (download) - annotate - [select for diffs], Fri Mar 15 19:44:54 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.9: +549 -506 lines
Diff to previous 1.9 (colored)

KNF

Revision 1.9 / (download) - annotate - [select for diffs], Mon Mar 11 18:47:51 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.8: +113 -117 lines
Diff to previous 1.8 (colored)

Ansify
Remove unused defines
Remove #ifndef lint
Remove redundant and incorrect casts.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Mar 8 21:57:33 2002 UTC (19 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.7: +69 -89 lines
Diff to previous 1.7 (colored)

Ansify
Remove 'register'
Make local functions static.
Remove most '#ifndef lint'

Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 9 05:15:45 1999 UTC (22 years, 8 months ago) by sommerfe
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, minoura-xpg4dl-base, minoura-xpg4dl, comdex-fall-1999-base, comdex-fall-1999
Branch point for: netbsd-1-5
Changes since 1.6: +9 -4 lines
Diff to previous 1.6 (colored)

Fix PR2429: catch doubly-applied patches which create new files.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Nov 6 22:40:13 1998 UTC (22 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.5: +24 -24 lines
Diff to previous 1.5 (colored)

char -> unsigned char
rindex -> strrchr

Revision 1.5 / (download) - annotate - [select for diffs], Sun Feb 22 13:33:50 1998 UTC (23 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.4: +12 -6 lines
Diff to previous 1.4 (colored)

WARNSify

Revision 1.4 / (download) - annotate - [select for diffs], Tue Jul 29 19:49:35 1997 UTC (24 years, 3 months ago) by phil
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)

Set appropiate flag when wanting to skip a patch.  Fixes only true
bug reported in PR 2215.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Sep 19 06:27:14 1996 UTC (25 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

RCS id police.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Aug 2 17:55:21 1993 UTC (28 years, 3 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2, netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1, netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.1: +3 -33 lines
Diff to previous 1.1 (colored)

Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Apr 9 11:34:07 1993 UTC (28 years, 6 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-alpha-1, netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9, netbsd-0-8

patch 2.0.12u8, from prep.ai.mit.edu.  this is not under the GPL.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>