sequencer: always roll back lock in `do_recursive_merge()`

If we return early, we forget to roll back the lockfile. Do so. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Martin Ågren committed Feb 27, 2018 at 22:30 UTC 6481652432eed5b073428411763d5b5d712b6745
1 file changed +3 -1
sequencer.c
+3 -1
@@ -514,8 +514,10 @@ static int do_recursive_merge(struct commit *base, struct commit *next,
514 fputs(o.obuf.buf, stdout);
515 strbuf_release(&o.obuf);
516 diff_warn_rename_limit("merge.renamelimit", o.needed_rename_limit, 0);
517 - if (clean < 0)
517 + if (clean < 0) {
518 + rollback_lock_file(&index_lock);
519 return clean;
520 + }
521
522 if (active_cache_changed &&
523 write_locked_index(&the_index, &index_lock, COMMIT_LOCK))