From ade0b580e75bdea227eec5345f6681b678d0811b Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 3 Mar 2015 16:09:58 -0800 Subject: [PATCH] r300g: Check return value of snprintf(). Would have at least prevented the crash the previous patch fixed. Cc: 10.4, 10.5 Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=540970 Reviewed-by: Tom Stellard --- src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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;