[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