Sorry for the delay... Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
On 01/20/2015 06:07 PM, Iago Toral Quiroga wrote: > v2 (Ian Romanick) > - Move the check to the lexer before rallocing a copy of the large string. > > Fixes the following 2 dEQP tests: > dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.max_length_vertex > dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.max_length_fragment > --- > src/glsl/glsl_lexer.ll | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll > index 57c46be..48ba463 100644 > --- a/src/glsl/glsl_lexer.ll > +++ b/src/glsl/glsl_lexer.ll > @@ -544,7 +544,13 @@ subroutine KEYWORD(0, 300, 0, 0, SUBROUTINE); > [_a-zA-Z][_a-zA-Z0-9]* { > struct _mesa_glsl_parse_state *state = yyextra; > void *ctx = state; > - yylval->identifier = ralloc_strdup(ctx, yytext); > + if (state->es_shader && strlen(yytext) > 1024) { > + _mesa_glsl_error(yylloc, state, > + "Identifier `%s' exceeds 1024 > characters", > + yytext); > + } else { > + yylval->identifier = ralloc_strdup(ctx, yytext); > + } > return classify_identifier(state, yytext); > } > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev