summaryrefslogtreecommitdiffstats
path: root/src/glsl/pp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/pp')
-rw-r--r--src/glsl/pp/sl_pp_purify.c10
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;