diff options
author | Đoàn Trần Công Danh <congdanhqx@gmail.com> | 2021-08-22 15:49:08 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-08-25 11:49:36 -0700 |
commit | 8174627b3d32dc80cb477b3fa46971955f26c6b2 (patch) | |
tree | f95c3b02e248fa8b5cd5dfb75d2e18850320bc3c /git-mergetool--lib.sh | |
parent | Git 2.30.2 (diff) | |
download | tgif-8174627b3d32dc80cb477b3fa46971955f26c6b2.tar.xz |
diff-lib: ignore paths that are outside $cwd if --relative asked
For diff family commands, we can tell them to exclude changes outside
of some directories if --relative is requested.
In diff_unmerge(), NULL will be returned if the requested path is
outside of the interesting directories, thus we'll run into NULL
pointer dereference in run_diff_files when trying to dereference
its return value.
Checking for return value of diff_unmerge before dereferencing
is not sufficient, though. Since, diff engine will try to work on such
pathspec later.
Let's not run diff on those unintesting entries, instead.
As a side effect, by skipping like that, we can save some CPU cycles.
Reported-by: Thomas De Zeeuw <thomas@slight.dev>
Tested-by: Carlo Arenas <carenas@gmail.com>
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-mergetool--lib.sh')
0 files changed, 0 insertions, 0 deletions