glsl: add missing initialization of the location path field
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 21 Nov 2019 09:05:49 +0000 (10:05 +0100)
committerIago Toral Quiroga <itoral@igalia.com>
Thu, 21 Nov 2019 11:55:15 +0000 (12:55 +0100)
This was apparently missed in 67b32190f3c95, which added support
for ARB_shading_language_include to #line, including the 'path'
field for the location.

Fixes crashes in CTS with all drivers as they attempt to access
an uninitialized path string during parsing.

Fixes: 67b32190f3c95 ("glsl: add ARB_shading_language_include support to #line")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2132
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jose Maria Casanova <jmcasanova@igalia.com>
src/compiler/glsl/glsl_parser_extras.h

index 444a51dfdb55d39b8bf5906f84edb2fa7fa2d9fc..c9d579ccb85e4338b8a3e57402cf3bd56ae81c94 100644 (file)
@@ -962,6 +962,7 @@ do {                                                            \
       (Current).first_column = YYRHSLOC(Rhs, 1).first_column;   \
       (Current).last_line    = YYRHSLOC(Rhs, N).last_line;      \
       (Current).last_column  = YYRHSLOC(Rhs, N).last_column;    \
+      (Current).path         = YYRHSLOC(Rhs, N).path;           \
    }                                                            \
    else                                                         \
    {                                                            \
@@ -969,6 +970,7 @@ do {                                                            \
          YYRHSLOC(Rhs, 0).last_line;                            \
       (Current).first_column = (Current).last_column =          \
          YYRHSLOC(Rhs, 0).last_column;                          \
+      (Current).path = YYRHSLOC(Rhs, 0).path;                   \
    }                                                            \
    (Current).source = 0;                                        \
 } while (0)