diff options
author | Jim Meyering <meyering@redhat.com> | 2011-10-09 11:42:32 +0200 |
---|---|---|
committer | Andreas Gruenbacher <agruen@linbit.com> | 2011-10-11 03:31:57 +0200 |
commit | 4e595c3b6de267bfe770c218bb38c116a3d7d59f (patch) | |
tree | b07c94225acebd5036ec9812bf0d8d04d8367aa3 /src | |
parent | 46ad06707c71e3bbfc34e5f098745ef5bec3968b (diff) | |
download | patch-4e595c3b6de267bfe770c218bb38c116a3d7d59f.tar.gz |
give a diagnostic rather than a failed assertion for a mangled patch
* src/pch.c (another_hunk): Rather than asserting(C), issue the
"replacement text or line numbers mangled ..." diagnostic when !C.
* tests/mangled-numbers-abort: New test for the above.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Mention it.
Reported by Gabriel Vlasiu via Tim Waugh.
See also http://bugzilla.redhat.com/738959
Diffstat (limited to 'src')
-rw-r--r-- | src/pch.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1513,7 +1513,9 @@ another_hunk (enum diff difftype, bool rev) p_suffix_context = ((ptrn_suffix_context != -1 && ptrn_suffix_context < context) ? ptrn_suffix_context : context); - assert (p_prefix_context != -1 && p_suffix_context != -1); + if (p_prefix_context == -1 || p_suffix_context == -1) + fatal ("replacement text or line numbers mangled in hunk at line %s", + format_linenum (numbuf0, p_hunk_beg)); if (difftype == CONTEXT_DIFF && (fillcnt |