summaryrefslogtreecommitdiff
path: root/src/mesa/shader/grammar
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/shader/grammar')
-rw-r--r--src/mesa/shader/grammar/grammar.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/shader/grammar/grammar.c b/src/mesa/shader/grammar/grammar.c
index 0b767c02cd..8bfff3ec42 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);