summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2015-03-03 16:09:58 -0800
committerEmil Velikov <[email protected]>2015-03-07 17:22:22 +0000
commit57f54b067b5c6d4fbf3ceb2bc1138aed8c913c8a (patch)
tree1e3423677249b2861200e6a00d3c1a26437c3c9e
parente0670715bc511bb814ab42b10d9608a93d6ba439 (diff)
r300g: Check return value of snprintf().
Would have at least prevented the crash the previous patch fixed. Cc: 10.4, 10.5 <[email protected]> Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=540970 Reviewed-by: Tom Stellard <[email protected]> (cherry picked from commit ade0b580e75bdea227eec5345f6681b678d0811b)
-rw-r--r--src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c b/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c
index 422bdb04405..04c01f1b443 100644
--- a/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c
+++ b/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c
@@ -541,9 +541,14 @@ unsigned load_program(
unsigned *count;
char **string_store;
unsigned i = 0;
+ int n;
memset(line, 0, sizeof(line));
- snprintf(path, PATH_MAX, TEST_PATH "/%s", filename);
+ n = snprintf(path, PATH_MAX, TEST_PATH "/%s", filename);
+ if (n < 0 || n >= PATH_MAX) {
+ return 0;
+ }
+
file = fopen(path, "r");
if (!file) {
return 0;