diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/shader/grammar/grammar.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/shader/grammar/grammar.c b/src/mesa/shader/grammar/grammar.c index 0b767c02cd3..8bfff3ec425 100644 --- a/src/mesa/shader/grammar/grammar.c +++ b/src/mesa/shader/grammar/grammar.c @@ -2410,6 +2410,7 @@ static match_result match (dict *di, const byte *text, unsigned int *index, rule } else if (result == mr_matched) { + assert(ind > 0); if (barray_push (ba, sp->m_emits, text[ind - 1], save_ind, &ctx) || barray_append (ba, &array)) { @@ -2469,6 +2470,7 @@ static match_result match (dict *di, const byte *text, unsigned int *index, rule if (status == mr_matched) { if (sp->m_emits) + assert(ind > 0); if (barray_push (ba, sp->m_emits, text[ind - 1], save_ind, &ctx)) { free_regbyte_ctx_stack (ctx, *rbc); @@ -2629,6 +2631,7 @@ static match_result fast_match (dict *di, const byte *text, unsigned int *index, { if (sp->m_emits != NULL) { + assert(ind > 0); if (emit_push (sp->m_emits, _BP->_F + _P, text[ind - 1], save_ind, &ctx)) { free_regbyte_ctx_stack (ctx, *rbc); @@ -2686,6 +2689,7 @@ static match_result fast_match (dict *di, const byte *text, unsigned int *index, if (status == mr_matched) { if (sp->m_emits != NULL) + assert(ind > 0); if (emit_push (sp->m_emits, _BP->_F + _P, text[ind - 1], save_ind, &ctx)) { free_regbyte_ctx_stack (ctx, *rbc); |