Mesa (master): r300/compiler/tests: Fix line length check in test parser

Tom Stellard tstellar at kemper.freedesktop.org
Mon Dec 9 14:41:17 UTC 2013


Module: Mesa
Branch: master
Commit: 9a5ce0c4c971a8511574e10dd3ef37eebbe65ce7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a5ce0c4c971a8511574e10dd3ef37eebbe65ce7

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Mon Dec  2 21:04:58 2013 -0500

r300/compiler/tests: Fix line length check in test parser

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

CC: "9.2" "10.0" <mesa-stable at lists.freedesktop.org>

---

 .../drivers/r300/compiler/tests/rc_test_helpers.c  |    4 +++-
 1 files changed, 3 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 af7b3ce..b4e30d8 100644
--- a/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c
+++ b/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c
@@ -542,6 +542,7 @@ unsigned load_program(
 	char **string_store;
 	unsigned i = 0;
 
+	memset(line, 0, sizeof(line));
 	snprintf(path, MAX_PATH_LENGTH, "compiler/tests/%s", filename);
 	file = fopen(path, "r");
 	if (!file) {
@@ -552,7 +553,8 @@ unsigned load_program(
 	count = &test->num_input_lines;
 
 	while (fgets(line, MAX_LINE_LENGTH, file)){
-		if (line[MAX_LINE_LENGTH - 2] == '\n') {
+		char last_char = line[MAX_LINE_LENGTH - 1];
+		if (last_char && last_char != '\n') {
 			fprintf(stderr, "Error line cannot be longer than 100 "
 				"characters:\n%s\n", line);
 			return 0;




More information about the mesa-commit mailing list