mirror of
https://github.com/git/git
synced 2024-08-25 10:45:59 +00:00
Merge branch 'maint-1.6.0' into maint-1.6.1
* maint-1.6.0: grep: fix segfault when "git grep '('" is given Documentation: fix a grammatical error in api-builtin.txt builtin-merge: fix a typo in an error message
This commit is contained in:
commit
3e73cb2f48
|
@ -37,7 +37,7 @@ where options is the bitwise-or of:
|
|||
|
||||
Make sure there is a work tree, i.e. the command cannot act
|
||||
on bare repositories.
|
||||
This makes only sense when `RUN_SETUP` is also set.
|
||||
This only makes sense when `RUN_SETUP` is also set.
|
||||
|
||||
. Add `builtin-foo.o` to `BUILTIN_OBJS` in `Makefile`.
|
||||
|
||||
|
|
|
@ -785,7 +785,7 @@ static int suggest_conflicts(void)
|
|||
|
||||
fp = fopen(git_path("MERGE_MSG"), "a");
|
||||
if (!fp)
|
||||
die("Could open %s for writing", git_path("MERGE_MSG"));
|
||||
die("Could not open %s for writing", git_path("MERGE_MSG"));
|
||||
fprintf(fp, "\nConflicts:\n");
|
||||
for (pos = 0; pos < active_nr; pos++) {
|
||||
struct cache_entry *ce = active_cache[pos];
|
||||
|
|
8
grep.c
8
grep.c
|
@ -54,6 +54,8 @@ static struct grep_expr *compile_pattern_atom(struct grep_pat **list)
|
|||
struct grep_expr *x;
|
||||
|
||||
p = *list;
|
||||
if (!p)
|
||||
return NULL;
|
||||
switch (p->token) {
|
||||
case GREP_PATTERN: /* atom */
|
||||
case GREP_PATTERN_HEAD:
|
||||
|
@ -66,8 +68,6 @@ static struct grep_expr *compile_pattern_atom(struct grep_pat **list)
|
|||
case GREP_OPEN_PAREN:
|
||||
*list = p->next;
|
||||
x = compile_pattern_or(list);
|
||||
if (!x)
|
||||
return NULL;
|
||||
if (!*list || (*list)->token != GREP_CLOSE_PAREN)
|
||||
die("unmatched parenthesis");
|
||||
*list = (*list)->next;
|
||||
|
@ -83,6 +83,8 @@ static struct grep_expr *compile_pattern_not(struct grep_pat **list)
|
|||
struct grep_expr *x;
|
||||
|
||||
p = *list;
|
||||
if (!p)
|
||||
return NULL;
|
||||
switch (p->token) {
|
||||
case GREP_NOT:
|
||||
if (!p->next)
|
||||
|
@ -368,6 +370,8 @@ static int match_expr_eval(struct grep_opt *o,
|
|||
{
|
||||
int h = 0;
|
||||
|
||||
if (!x)
|
||||
die("Not a valid grep expression");
|
||||
switch (x->node) {
|
||||
case GREP_NODE_ATOM:
|
||||
h = match_one_pattern(o, x->u.atom, bol, eol, ctx);
|
||||
|
|
|
@ -26,6 +26,10 @@ test_expect_success setup '
|
|||
git commit -m initial
|
||||
'
|
||||
|
||||
test_expect_success 'grep should not segfault with a bad input' '
|
||||
test_must_fail git grep "("
|
||||
'
|
||||
|
||||
for H in HEAD ''
|
||||
do
|
||||
case "$H" in
|
||||
|
|
Loading…
Reference in a new issue