Browse Source

commit, merge: initialize static strbuf

Strbufs cannot rely on static all-zero initialization; instead, they must
use STRBUF_INIT to point to the "slopbuf".

Without this patch, "git commit --no-message" segfaults reliably. Fix the
same issue in builtin/merge.c as well.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jeff King 13 years ago committed by Junio C Hamano
parent
commit
2c47789d81
  1. 2
      builtin-commit.c
  2. 2
      builtin-merge.c

2
builtin-commit.c

@ -69,7 +69,7 @@ static char *cleanup_arg; @@ -69,7 +69,7 @@ static char *cleanup_arg;

static int use_editor = 1, initial_commit, in_merge;
static const char *only_include_assumed;
static struct strbuf message;
static struct strbuf message = STRBUF_INIT;

static int opt_parse_m(const struct option *opt, const char *arg, int unset)
{

2
builtin-merge.c

@ -42,7 +42,7 @@ static const char * const builtin_merge_usage[] = { @@ -42,7 +42,7 @@ static const char * const builtin_merge_usage[] = {
static int show_diffstat = 1, option_log, squash;
static int option_commit = 1, allow_fast_forward = 1;
static int allow_trivial = 1, have_message;
static struct strbuf merge_msg;
static struct strbuf merge_msg = STRBUF_INIT;
static struct commit_list *remoteheads;
static unsigned char head[20], stash[20];
static struct strategy **use_strategies;

Loading…
Cancel
Save