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:
5
setup.c
5
setup.c
@ -88,7 +88,7 @@ char *prefix_path_gently(const char *prefix, int len,
|
||||
const char *orig = path;
|
||||
char *sanitized;
|
||||
if (is_absolute_path(orig)) {
|
||||
sanitized = xmalloc(strlen(path) + 1);
|
||||
sanitized = xmallocz(strlen(path));
|
||||
if (remaining_prefix)
|
||||
*remaining_prefix = 0;
|
||||
if (normalize_path_copy_len(sanitized, path, remaining_prefix)) {
|
||||
@ -486,14 +486,13 @@ const char *read_gitfile_gently(const char *path, int *return_error_code)
|
||||
error_code = READ_GITFILE_ERR_OPEN_FAILED;
|
||||
goto cleanup_return;
|
||||
}
|
||||
buf = xmalloc(st.st_size + 1);
|
||||
buf = xmallocz(st.st_size);
|
||||
len = read_in_full(fd, buf, st.st_size);
|
||||
close(fd);
|
||||
if (len != st.st_size) {
|
||||
error_code = READ_GITFILE_ERR_READ_FAILED;
|
||||
goto cleanup_return;
|
||||
}
|
||||
buf[len] = '\0';
|
||||
if (!starts_with(buf, "gitdir: ")) {
|
||||
error_code = READ_GITFILE_ERR_INVALID_FORMAT;
|
||||
goto cleanup_return;
|
||||
|
||||
Reference in New Issue
Block a user