r300/compiler/tests: Fix line length check in test parser
authorTom Stellard <thomas.stellard@amd.com>
Tue, 3 Dec 2013 02:04:58 +0000 (21:04 -0500)
committerTom Stellard <thomas.stellard@amd.com>
Mon, 9 Dec 2013 14:40:15 +0000 (09:40 -0500)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
CC: "9.2" "10.0" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c

index af7b3cee48f0fbf099c08302014c8b06b216e1f3..b4e30d8a8721d6e245bb08bd6a06d27b93607eab 100644 (file)
@@ -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;