Thread (12 messages) read the whole thread 12 messages, 2 authors, 2d ago
WARM2d

[PATCH 0/2] diff-lib relative-path cleanups

From: Jeff King <hidden>
Date: 2026-07-26 08:45:52

On Wed, Jul 15, 2026 at 08:17:06AM -0700, Junio C Hamano wrote:
Jeff King [off-list ref] writes:
quoted
A diff using --relative ignores entries outside the current directory.
This results in a segfault when we try to process an unmerged entry
that's outside of our prefix, since we end up with a NULL diff_filepair
and use it without checking that it's valid.
...
+cc Junio, as you may have some wisdom on that further exploration.
Will take a look at the history myself, but I would probably not
have much wisdom on a change from 2011.  I often do not even
remember what I ate for breakfast yesterday ;-).
I have the same problem. ;)

Looks like you reviewed the patch in question already. Here's what I
uncovered by digging into the history. I don't think it should have any
functional difference (and even the "avoid unnecessary work" in patch 2
is probably not very much work in practice), but it might be worth
doing.

This would go on top (even though patch 2 makes the original fix here
unnecessary, I'd rather have both in place).

  [1/2]: diff-lib: drop stale comment about advancing o->pos
  [2/2]: diff-lib: skip paths outside prefix in oneway_diff()

 diff-lib.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help