diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/pp/sl_pp_purify.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/glsl/pp/sl_pp_purify.c b/src/glsl/pp/sl_pp_purify.c index 7fbfc78d426..ded4dc8963b 100644 --- a/src/glsl/pp/sl_pp_purify.c +++ b/src/glsl/pp/sl_pp_purify.c @@ -152,6 +152,9 @@ _purify_comment(const char *input, return eaten; } } + if (next == '\0') { + return 0; + } } } } @@ -171,8 +174,13 @@ sl_pp_purify(const char *input, for (;;) { char c; + unsigned int eaten; - input += _purify_comment(input, &c); + eaten = _purify_comment(input, &c); + if (!eaten) { + return -1; + } + input += eaten; if (out_len >= out_max) { unsigned int new_max = out_max; |