summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2011-09-27 06:46:53 +0200
committerJunio C Hamano <gitster@pobox.com>2011-09-27 09:58:47 -0700
commit852844561e8daaa6689cab48a725f764ad5779cb (patch)
tree4237e4e34687ab836086c83c7325006a4068d495
parent632052641517de1a965c1f045b97d2eaa541b2e9 (diff)
downloadgit-852844561e8daaa6689cab48a725f764ad5779cb.tar.gz
notes_merge_commit(): do not pass temporary buffer to other function
It is unsafe to pass a temporary buffer as an argument to read_directory(). Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--notes-merge.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/notes-merge.c b/notes-merge.c
index e1aaf43b43..baaf31f4ae 100644
--- a/notes-merge.c
+++ b/notes-merge.c
@@ -680,7 +680,7 @@ int notes_merge_commit(struct notes_merge_options *o,
* Finally store the new commit object SHA1 into 'result_sha1'.
*/
struct dir_struct dir;
- const char *path = git_path(NOTES_MERGE_WORKTREE "/");
+ char *path = xstrdup(git_path(NOTES_MERGE_WORKTREE "/"));
int path_len = strlen(path), i;
const char *msg = strstr(partial_commit->buffer, "\n\n");
@@ -720,6 +720,7 @@ int notes_merge_commit(struct notes_merge_options *o,
result_sha1);
OUTPUT(o, 4, "Finalized notes merge commit: %s",
sha1_to_hex(result_sha1));
+ free(path);
return 0;
}