summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIliyas Jorio <iliyas@jor.io>2022-03-13 17:40:54 +0100
committerIliyas Jorio <iliyas@jor.io>2022-03-13 17:40:54 +0100
commitd427f9522d439535acf5f3e56ad8fa0ab79b0ed3 (patch)
tree07f2b69c7d8062589489f6af8672820e7c014872
parent11866327d035b872603cdfa3635b836f92008190 (diff)
downloadlibgit2-d427f9522d439535acf5f3e56ad8fa0ab79b0ed3.tar.gz
diff_delta_format_path: handle null filename
This fixes a crash in test cases test_diff_parse__new_file_with_space_and_regenerate_patch and test_diff_parse__delete_file_with_space_and_regenerate_patch
-rw-r--r--src/libgit2/diff_print.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libgit2/diff_print.c b/src/libgit2/diff_print.c
index 03d25b087..a91036289 100644
--- a/src/libgit2/diff_print.c
+++ b/src/libgit2/diff_print.c
@@ -316,6 +316,12 @@ static int diff_print_oid_range(
static int diff_delta_format_path(
git_str *out, const char *prefix, const char *filename)
{
+ if (!filename)
+ {
+ /* don't prefix "/dev/null" */
+ return git_str_puts(out, "/dev/null");
+ }
+
if (git_str_joinpath(out, prefix, filename) < 0)
return -1;