History log of /freebsd-10-stable/usr.bin/patch/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
320086 18-Jun-2017 pfg

MFC r319676:
patch: if reading fails, do not go into infinite loop asking for a filename.

This can happen if no tty is available.

Obtained from: OpenBSD (CVS rev 1.54)

306914 09-Oct-2016 pfg

MFC r306560, r306561:
patch(1): make some macros look boolean.

Minor cleanup inspired by a new patch(1) variant in schily tools.

For reference:
https://sourceforge.net/p/schillix-on/

298763 29-Apr-2016 pfg

MFC r298530:
patch(1): avoid signed integer overflow when debugging.

Integer i is used to index p_end of type LINENUM (actually long).
Match the types.

293290 07-Jan-2016 bdrewery

MFC r289677:

Fix a ton of speelling errors


/freebsd-10-stable/bin/csh/config_p.h
/freebsd-10-stable/sbin/devd/devd.cc
/freebsd-10-stable/sbin/fsck_ffs/fsck.h
/freebsd-10-stable/sbin/fsck_ffs/globs.c
/freebsd-10-stable/sbin/natd/natd.c
/freebsd-10-stable/sbin/newfs_nandfs/newfs_nandfs.c
/freebsd-10-stable/sbin/rcorder/rcorder.c
/freebsd-10-stable/usr.bin/calendar/parsedata.c
/freebsd-10-stable/usr.bin/colldef/parse.y
/freebsd-10-stable/usr.bin/dtc/dtb.hh
/freebsd-10-stable/usr.bin/indent/indent.1
/freebsd-10-stable/usr.bin/locale/locale.c
/freebsd-10-stable/usr.bin/mkimg/mkimg.1
/freebsd-10-stable/usr.bin/mt/mt.c
pch.c
/freebsd-10-stable/usr.bin/pr/egetopt.c
/freebsd-10-stable/usr.bin/sed/compile.c
/freebsd-10-stable/usr.bin/sockstat/sockstat.c
/freebsd-10-stable/usr.bin/vgrind/regexp.c
/freebsd-10-stable/usr.sbin/bhyve/pci_emul.c
/freebsd-10-stable/usr.sbin/bsdconfig/bsdconfig
/freebsd-10-stable/usr.sbin/config/config.h
/freebsd-10-stable/usr.sbin/ctld/ctld.c
/freebsd-10-stable/usr.sbin/fwcontrol/fwmpegts.c
/freebsd-10-stable/usr.sbin/jail/command.c
/freebsd-10-stable/usr.sbin/jail/jailp.h
/freebsd-10-stable/usr.sbin/jail/jailparse.y
/freebsd-10-stable/usr.sbin/jls/jls.c
/freebsd-10-stable/usr.sbin/makefs/cd9660.c
/freebsd-10-stable/usr.sbin/mfiutil/mfiutil.8
/freebsd-10-stable/usr.sbin/nandsim/nandsim.8
/freebsd-10-stable/usr.sbin/nandsim/nandsim.c
/freebsd-10-stable/usr.sbin/nandsim/nandsim_cfgparse.c
/freebsd-10-stable/usr.sbin/ndp/ndp.c
/freebsd-10-stable/usr.sbin/newsyslog/newsyslog.c
/freebsd-10-stable/usr.sbin/pmcstudy/eval_expr.c
/freebsd-10-stable/usr.sbin/ppp/ip.c
/freebsd-10-stable/usr.sbin/ppp/ppp.8
/freebsd-10-stable/usr.sbin/rtsold/rtsold.h
/freebsd-10-stable/usr.sbin/uefisign/magic.h
/freebsd-10-stable/usr.sbin/uefisign/pe.c
/freebsd-10-stable/usr.sbin/ypbind/ypbind.c
/freebsd-10-stable/usr.sbin/ypserv/ypinit.sh
287223 27-Aug-2015 delphij

MFC r281800 (pfg):

patch(1): small include changes.

Mostly to match OpenBSD, no functional change.

MFC r286601 + 286617:

use posix_spawn(3) instead of fork() and exec() manually as suggested
by jmg@.

286348 05-Aug-2015 delphij

Fix patch(1) shell injection vulnerability via ed(1). [SA-15:18]

Fix routed remote denial of service vulnerability. [SA-15:19]

285976 28-Jul-2015 delphij

Fix patch(1) shell injection vulnerability. [SA-15:14]

Fix resource exhaustion in TCP reassembly. [SA-15:15]

Fix OpenSSH multiple vulnerabilities. [SA-15:16]

276807 08-Jan-2015 pfg

MFC r276218:

patch: Bring in xstrdup and use it when appropriate.

The function savestr allows NULL return values during Plan A patching so in
case of out of memory conditions, Plan B can step in. In many cases, NULL
value is not properly handled, so use xstrdup here (it's outside Plan A/B
patching, which means that even Plan B relies on successful operations).

Clean up some whitespaces while here

Obtained from: OpenBSD

276706 05-Jan-2015 pfg

MFC r276472:

Minor fixes to exit status.

Exit with EXIT_FAILURE for invalid arguments.
Fixes NetBSD-PR 43517.

Print version string to stdout instead of stderr;
it is user-requested and not an error.

Obtained from: NetBSD

275841 16-Dec-2014 pfg

MFC r275553, r275612;

patch(1): Bring fixes from OpenBSD

Check fstat return value. Use off_t for file size and offsets.
Avoid iterating over end of string.

Introduce strtolinenum to properly check line numbers while parsing:
no signs, no spaces, just digits, 0 <= x <= LONG_MAX

Properly validate line ranges supplied in diff file to prevent overflows.
Also fixes an out of boundary memory access because the resulting values
are used as array indices.

PR: 195436
Obtained from: OpenBSD

275840 16-Dec-2014 pfg

MFC r275531, r275581, r275582;

patch(1): Small changes to sync with OpenBSD

Update OpenBSD CVS revision tag for our r255232.
Prefer setvbuf() to setlinebuf().
Small space changes, mostly to keep in sync with OpenBSD

Obtained from: OpenBSD

267747 22-Jun-2014 pfg

MFC r267512:

patch: add dry-run alias for compatibility with other implementations.

Other implementations of patch(1), including GNU patch and "svn patch"
have a --dry-run option which does the same as our -C or --check
option.

Add a new alias to make our implementation more compatible.

267746 22-Jun-2014 pfg

MFC r267490:
patch: unsign the line length to avoid overflows.

Patch(1) uses a short int for the line length, which is usually
sufficient for regular diffs, but makes no effort to signal
when there is an overflow.

Change the line length to an unsigned short int to better use
the fact that a length is never negative. The change is loosely
inspired on a related change in DragonFly, but we avoid spending
more memory than necessary.

While here adjust the messages to be clearer on what is happening.

267701 21-Jun-2014 pfg

MFC r267426, r267464:

Avoid zeroing during allocation.

This change reverts a change from OpenBSD which made use of
calloc, and therefore wasted time initializing arrays that
will later be realloc'ed.

Consistently use FreeBSD's reallocf():
- Drop some bogus casts to size_t.
- The new_p_foo variables are not needed anymore.

Also merge the changes from OpenBSD's manpage
patch.1 Rev 1.27:
"patch was moved from user portability (UP) to base in issue 7
and is no longer optional"

265160 30-Apr-2014 pfg

MFC r264581, r264744:

Various style(9) fixes and typos in printf, grep, sort and patch.

#define should be followed by a tab.

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


255894 26-Sep-2013 delphij

Improve bsdpatch usability:

- Ask only once for "Apply anyway". [1]
- Tell user what file have failed patch rather than just how
many hunks failed.

Reported by: jmg via pfg [1]
Tested by: pfg [1]
Approved by: re (gjb)


255232 05-Sep-2013 se

Fix file selection logic for the RCS/SCCS case, as was done for the simple
file case before. Bump version because of the changed behavior, which now
matches the documentation.

Reviewed by: pfg


255014 29-Aug-2013 pfg

Drop build option switch for the older GNU patch.

As promised, drop the option to make the older GNU patch
the default.

GNU patch is still being built but something drastic may
happen to it to it before Release.


253689 26-Jul-2013 pfg

Make the BSD-licensed patch the default.

The BSD-licensed patch(1) command has matured and it's behaviour
can be considered equivalent to the older version of GNU patch
in the tree.

The switch has been extensively tested [1] and only two ports
presented regressions, which have since been fixed.

For convenience a new WITH_GNU_PATCH option is available,
but it will likely be removed in the near future.

PR: 176313
Approved by: portmgr


253614 24-Jul-2013 pfg

patch: style fix

Submitted by: gogolok


252637 03-Jul-2013 obrien

Merge r252513 from src/gnu/usr.bin/patch into src/usr.bin/patch:

Properly handle input lines containing NUL characters such that pgets()
accurately fills the read buffer.

Callers of pgets() still mis-process the buffer contents if the read line
contains NUL characters, but this at least makes pgets() accurate.


252636 03-Jul-2013 obrien

Merge r252512 from src/gnu/usr.bin/patch into src/usr.bin/patch:

Make it so that 'patch < FUBAR' and 'patch -i FUBAR' operate the same.

The former makes a copy of stdin, but was not accurately putting the
content of stdin into a temp file. This lead to the undercounting
the number of lines in hunks containing NUL characters when reading
from stdin. Thus resulting in "unexpected end of file in patch" errors.


250975 25-May-2013 gjb

Revert r250972 to fix build.


250972 24-May-2013 se

The error handling for writes to the target file could lead to the final
fclose() being skipped. Fix this by using boolean "&" and "|" instead of
short-cut operators "&&" and "||".
While here, increment the last part of the version string. The reason is
the fixed output file selection logic in pch.c, which was committed as
r250943, yesterday.

Reviewed by: pfg


250943 23-May-2013 se

Fix target selection logic, which did not comply with the man page.

Instead of using the file with the least order of path name components,
shortest filename and finally the shortest basename (with the search
stopping as soon as one of these conditions is true), the first filename
checked was used as the reference, and another filename was only selected
if all of the above comparisons are in favour of the latter file.

This was wrong, because filenames with path less components were only
considered, if both of the other conditions were true as well. In fact,
the first filename to be checked had good chances to be selected in the
end, since it only needed to be better with regard to any one of the
three criteria ...

Reviewed by: delphij@freebsd.org


249373 11-Apr-2013 joel

Remove contractions.


246560 08-Feb-2013 pfg

patch: Follow original versioning convention.

According to the README file [1] the 12u variant, unlike
the 12g variant, contains no copyleft code. It is therefore
convenient to keep using the original versioning scheme to
prevent confusions.

[1] http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/patch/README


246091 29-Jan-2013 delphij

- Refresh code with latest OpenBSD revisions.
- Remove $DragonFly$ tags as they are using git nowadays and VCS tags will
not help merging.
- Other changes to Copyright headers to make them consistent with other
source code, we intend to fork from this point.

Reviewed by: pfg


246074 29-Jan-2013 gabor

- Add a BSD-licensed patch, ported by Pedro F. Giffuni (pfg) from
DragonflyBSD and install it as bsdpatch. WITH_BSD_PATCH makes it
default and installs GNU patch as gnupatch.

Submitted by: pfg
Obtained from: The DragonflyBSD Project