Paul Berry <stereotype...@gmail.com> writes: > Previously, if the user specified an ill-formed GLSL version number > (or the implementation supplied an ill-formed number in its response > to glGetString(GL_SHADING_LANGUAGE_VERSION)), glslparsertest would > access uninitialized variables, resulting in unpredictable (and often > confusing) behaviour. > > With this patch, glslparser test accepts version numbers either of the > form "<int>" or "<int>.<int>". Ill-formed version numbers lead to a > test failure. > --- > tests/glslparsertest/glslparsertest.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/tests/glslparsertest/glslparsertest.c > b/tests/glslparsertest/glslparsertest.c > index 43bef03..c9696be 100644 > --- a/tests/glslparsertest/glslparsertest.c > +++ b/tests/glslparsertest/glslparsertest.c > @@ -339,10 +339,14 @@ int process_options(int argc, char **argv) > static unsigned > parse_glsl_version_number(const char *str) > { > - unsigned major; > - unsigned minor; > + unsigned major = 0; > + unsigned minor = 0; > + > + if (sscanf(str, "%u.%u", &major, &minor) == 0) { > + printf("Ill-formed GLSL version number: %s\n", str); > + piglit_report_result(PIGLIT_FAIL); > + }
For full pedantry, I think that would be sscanf(...) != 2. Regardless, the series is: Reviewed-by: Eric Anholt <e...@anholt.net>
pgpNu9SldCWqK.pgp
Description: PGP signature
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit