Merge branch 'jk/tighten-alloc'
Update various codepaths to avoid manually-counted malloc(). * jk/tighten-alloc: (22 commits) ewah: convert to REALLOC_ARRAY, etc convert ewah/bitmap code to use xmalloc diff_populate_gitlink: use a strbuf transport_anonymize_url: use xstrfmt git-compat-util: drop mempcpy compat code sequencer: simplify memory allocation of get_message test-path-utils: fix normalize_path_copy output buffer size fetch-pack: simplify add_sought_entry fast-import: simplify allocation in start_packfile write_untracked_extension: use FLEX_ALLOC helper prepare_{git,shell}_cmd: use argv_array use st_add and st_mult for allocation size computation convert trivial cases to FLEX_ARRAY macros use xmallocz to avoid size arithmetic convert trivial cases to ALLOC_ARRAY convert manual allocations to argv_array argv-array: add detach function add helpers for allocating flex-array structs harden REALLOC_ARRAY and xcalloc against size_t overflow tree-diff: catch integer overflow in combine_diff_path allocation ...
This commit is contained in:
@ -721,9 +721,10 @@ static int rpc_service(struct rpc_state *rpc, struct discovery *heads)
|
||||
static int fetch_dumb(int nr_heads, struct ref **to_fetch)
|
||||
{
|
||||
struct walker *walker;
|
||||
char **targets = xmalloc(nr_heads * sizeof(char*));
|
||||
char **targets;
|
||||
int ret, i;
|
||||
|
||||
ALLOC_ARRAY(targets, nr_heads);
|
||||
if (options.depth)
|
||||
die("dumb http transport does not support --depth");
|
||||
for (i = 0; i < nr_heads; i++)
|
||||
@ -870,23 +871,22 @@ static void parse_fetch(struct strbuf *buf)
|
||||
|
||||
static int push_dav(int nr_spec, char **specs)
|
||||
{
|
||||
const char **argv = xmalloc((10 + nr_spec) * sizeof(char*));
|
||||
int argc = 0, i;
|
||||
struct child_process child = CHILD_PROCESS_INIT;
|
||||
size_t i;
|
||||
|
||||
argv[argc++] = "http-push";
|
||||
argv[argc++] = "--helper-status";
|
||||
child.git_cmd = 1;
|
||||
argv_array_push(&child.args, "http-push");
|
||||
argv_array_push(&child.args, "--helper-status");
|
||||
if (options.dry_run)
|
||||
argv[argc++] = "--dry-run";
|
||||
argv_array_push(&child.args, "--dry-run");
|
||||
if (options.verbosity > 1)
|
||||
argv[argc++] = "--verbose";
|
||||
argv[argc++] = url.buf;
|
||||
argv_array_push(&child.args, "--verbose");
|
||||
argv_array_push(&child.args, url.buf);
|
||||
for (i = 0; i < nr_spec; i++)
|
||||
argv[argc++] = specs[i];
|
||||
argv[argc++] = NULL;
|
||||
argv_array_push(&child.args, specs[i]);
|
||||
|
||||
if (run_command_v_opt(argv, RUN_GIT_CMD))
|
||||
die("git-%s failed", argv[0]);
|
||||
free(argv);
|
||||
if (run_command(&child))
|
||||
die("git-http-push failed");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user