Merge branch 'ds/sparse-checkout-malformed-pattern-fix'
Certain sparse-checkout patterns that are valid in non-cone mode led to segfault in cone mode, which has been corrected. * ds/sparse-checkout-malformed-pattern-fix: sparse-checkout: refuse to add to bad patterns sparse-checkout: fix OOM error with mixed patterns sparse-checkout: fix segfault on malformed patterns
This commit is contained in:
@ -504,7 +504,7 @@ static void insert_recursive_pattern(struct pattern_list *pl, struct strbuf *pat
|
||||
char *oldpattern = e->pattern;
|
||||
size_t newlen;
|
||||
|
||||
if (slash == e->pattern)
|
||||
if (!slash || slash == e->pattern)
|
||||
break;
|
||||
|
||||
newlen = slash - e->pattern;
|
||||
@ -612,6 +612,9 @@ static void add_patterns_cone_mode(int argc, const char **argv,
|
||||
die(_("unable to load existing sparse-checkout patterns"));
|
||||
free(sparse_filename);
|
||||
|
||||
if (!existing.use_cone_patterns)
|
||||
die(_("existing sparse-checkout patterns do not use cone mode"));
|
||||
|
||||
hashmap_for_each_entry(&existing.recursive_hashmap, &iter, pe, ent) {
|
||||
if (!hashmap_contains_parent(&pl->recursive_hashmap,
|
||||
pe->pattern, &buffer) ||
|
||||
|
Reference in New Issue
Block a user