mirror of https://github.com/git/git.git
Merge branch 'jk/compiler-fixes-and-workarounds'
Small fixes and workarounds. * jk/compiler-fixes-and-workarounds: revision: avoid leak when preparing bloom filter for "/" revision: avoid out-of-bounds read/write on empty pathspec config: work around gcc-10 -Wstringop-overflow warning
This commit is contained in:
commit
1aa3dff4ba
2
config.c
2
config.c
|
@ -3115,7 +3115,7 @@ static int git_config_copy_or_rename_section_in_file(const char *config_filename
|
|||
}
|
||||
|
||||
while (fgets(buf, sizeof(buf), config_file)) {
|
||||
int i;
|
||||
unsigned i;
|
||||
int length;
|
||||
int is_section = 0;
|
||||
char *output = buf;
|
||||
|
|
|
@ -669,7 +669,6 @@ static void prepare_to_use_bloom_filter(struct rev_info *revs)
|
|||
struct pathspec_item *pi;
|
||||
char *path_alloc = NULL;
|
||||
const char *path, *p;
|
||||
int last_index;
|
||||
size_t len;
|
||||
int path_component_nr = 1;
|
||||
|
||||
|
@ -692,12 +691,10 @@ static void prepare_to_use_bloom_filter(struct rev_info *revs)
|
|||
return;
|
||||
|
||||
pi = &revs->pruning.pathspec.items[0];
|
||||
last_index = pi->len - 1;
|
||||
|
||||
/* remove single trailing slash from path, if needed */
|
||||
if (pi->match[last_index] == '/') {
|
||||
path_alloc = xstrdup(pi->match);
|
||||
path_alloc[last_index] = '\0';
|
||||
if (pi->len > 0 && pi->match[pi->len - 1] == '/') {
|
||||
path_alloc = xmemdupz(pi->match, pi->len - 1);
|
||||
path = path_alloc;
|
||||
} else
|
||||
path = pi->match;
|
||||
|
@ -705,6 +702,7 @@ static void prepare_to_use_bloom_filter(struct rev_info *revs)
|
|||
len = strlen(path);
|
||||
if (!len) {
|
||||
revs->bloom_filter_settings = NULL;
|
||||
free(path_alloc);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue