From: Junio C Hamano Date: Mon, 10 Oct 2011 22:56:20 +0000 (-0700) Subject: Merge branch 'mh/maint-notes-merge-pathbuf-fix' X-Git-Tag: v1.7.8-rc0~104 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/e579a5d398744e8182decff1329c468d59e6974c?hp=-c Merge branch 'mh/maint-notes-merge-pathbuf-fix' * mh/maint-notes-merge-pathbuf-fix: notes_merge_commit(): do not pass temporary buffer to other function --- e579a5d398744e8182decff1329c468d59e6974c diff --combined notes-merge.c index 3bbcc9debd,baaf31f4ae..e9e4199311 --- a/notes-merge.c +++ b/notes-merge.c @@@ -570,8 -570,7 +570,8 @@@ int notes_merge(struct notes_merge_opti /* Dereference o->local_ref into local_sha1 */ if (!resolve_ref(o->local_ref, local_sha1, 0, NULL)) die("Failed to resolve local notes ref '%s'", o->local_ref); - else if (!check_ref_format(o->local_ref) && is_null_sha1(local_sha1)) + else if (!check_refname_format(o->local_ref, 0) && + is_null_sha1(local_sha1)) local = NULL; /* local_sha1 == null_sha1 indicates unborn ref */ else if (!(local = lookup_commit_reference(local_sha1))) die("Could not parse local commit %s (%s)", @@@ -584,7 -583,7 +584,7 @@@ * Failed to get remote_sha1. If o->remote_ref looks like an * unborn ref, perform the merge using an empty notes tree. */ - if (!check_ref_format(o->remote_ref)) { + if (!check_refname_format(o->remote_ref, 0)) { hashclr(remote_sha1); remote = NULL; } else { @@@ -681,7 -680,7 +681,7 @@@ int notes_merge_commit(struct notes_mer * 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"); @@@ -721,6 -720,7 +721,7 @@@ result_sha1); OUTPUT(o, 4, "Finalized notes merge commit: %s", sha1_to_hex(result_sha1)); + free(path); return 0; }