When checking if a branch start point referred to a commit-object, the result of mkpath() was used as argument to get_sha1(), which didn't work out as planned. Now it's xstrdup'd first. Signed-off-by: Lars Hjemli <hjemli@xxxxxxxxx> --- builtin-branch.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/builtin-branch.c b/builtin-branch.c index ffc2db0..f86bf68 100755 --- a/builtin-branch.c +++ b/builtin-branch.c @@ -125,6 +125,7 @@ static void create_branch(const char *na struct ref_lock *lock; unsigned char sha1[20]; char ref[PATH_MAX], msg[PATH_MAX + 20]; + const char *commitref; snprintf(ref, sizeof ref, "refs/heads/%s", name); if (check_ref_format(ref)) @@ -137,8 +138,10 @@ static void create_branch(const char *na die("Cannot force update the current branch."); } - if (get_sha1(mkpath("%s^0", start), sha1)) + commitref = xstrdup(mkpath("%s^0", start)); + if (get_sha1(commitref, sha1)) die("Not a valid branch point: '%s'.", start); + free(commitref); lock = lock_any_ref_for_update(ref, NULL); if (!lock) -- 1.4.3.1.ga4cc-dirty - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html