Merge branch 'sb/misc-cleanups'
Assorted minor clean-ups. * sb/misc-cleanups: credential-cache, send_request: close fd when done bundle: don't leak an fd in case of early return abbrev_sha1_in_line: don't leak memory notes: don't leak memory in git_config_get_notes_strategy
This commit is contained in:
commit
fc452aeac2
@ -744,13 +744,14 @@ static int merge_commit(struct notes_merge_options *o)
|
||||
static int git_config_get_notes_strategy(const char *key,
|
||||
enum notes_merge_strategy *strategy)
|
||||
{
|
||||
const char *value;
|
||||
char *value;
|
||||
|
||||
if (git_config_get_string_const(key, &value))
|
||||
if (git_config_get_string(key, &value))
|
||||
return 1;
|
||||
if (parse_notes_merge_strategy(value, strategy))
|
||||
git_die_config(key, "unknown notes merge strategy %s", value);
|
||||
|
||||
free(value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
23
bundle.c
23
bundle.c
@ -435,12 +435,14 @@ int create_bundle(struct bundle_header *header, const char *path,
|
||||
|
||||
/* write prerequisites */
|
||||
if (compute_and_write_prerequisites(bundle_fd, &revs, argc, argv))
|
||||
return -1;
|
||||
goto err;
|
||||
|
||||
argc = setup_revisions(argc, argv, &revs, NULL);
|
||||
|
||||
if (argc > 1)
|
||||
return error(_("unrecognized argument: %s"), argv[1]);
|
||||
if (argc > 1) {
|
||||
error(_("unrecognized argument: %s"), argv[1]);
|
||||
goto err;
|
||||
}
|
||||
|
||||
object_array_remove_duplicates(&revs.pending);
|
||||
|
||||
@ -448,17 +450,26 @@ int create_bundle(struct bundle_header *header, const char *path,
|
||||
if (!ref_count)
|
||||
die(_("Refusing to create empty bundle."));
|
||||
else if (ref_count < 0)
|
||||
return -1;
|
||||
goto err;
|
||||
|
||||
/* write pack */
|
||||
if (write_pack_data(bundle_fd, &revs))
|
||||
return -1;
|
||||
if (write_pack_data(bundle_fd, &revs)) {
|
||||
bundle_fd = -1; /* already closed by the above call */
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!bundle_to_stdout) {
|
||||
if (commit_lock_file(&lock))
|
||||
die_errno(_("cannot create '%s'"), path);
|
||||
}
|
||||
return 0;
|
||||
err:
|
||||
if (!bundle_to_stdout) {
|
||||
if (0 <= bundle_fd)
|
||||
close(bundle_fd);
|
||||
rollback_lock_file(&lock);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int unbundle(struct bundle_header *header, int bundle_fd, int flags)
|
||||
|
@ -32,6 +32,7 @@ static int send_request(const char *socket, const struct strbuf *out)
|
||||
write_or_die(1, in, r);
|
||||
got_data = 1;
|
||||
}
|
||||
close(fd);
|
||||
return got_data;
|
||||
}
|
||||
|
||||
|
@ -1063,9 +1063,7 @@ static void abbrev_sha1_in_line(struct strbuf *line)
|
||||
strbuf_addf(line, "%s", split[i]->buf);
|
||||
}
|
||||
}
|
||||
for (i = 0; split[i]; i++)
|
||||
strbuf_release(split[i]);
|
||||
|
||||
strbuf_list_free(split);
|
||||
}
|
||||
|
||||
static void read_rebase_todolist(const char *fname, struct string_list *lines)
|
||||
|
Loading…
Reference in New Issue
Block a user