Mesa (master): r300g: Use PATH_MAX instead of limiting ourselves to 100 chars.

Matt Turner mattst88 at kemper.freedesktop.org
Wed Mar 4 19:15:14 UTC 2015


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

Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Mar  3 16:02:40 2015 -0800

r300g: Use PATH_MAX instead of limiting ourselves to 100 chars.

When built with Gentoo's package manager, the Mesa source directory
exists seven directories deep. The path to the .test file is too long
and is silently truncated, leading to a crash. Just use PATH_MAX.

Cc: 10.4, 10.5 <mesa-stable at lists.freedesktop.org>
Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=540970
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

---

 src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c |    6 +++---
 1 file changed, 3 insertions(+), 3 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 7c9d177..422bdb0 100644
--- a/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c
+++ b/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c
@@ -28,6 +28,7 @@
  */
 
 #include <errno.h>
+#include <limits.h>
 #include <regex.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -528,7 +529,6 @@ void init_compiler(
 }
 
 #define MAX_LINE_LENGTH 100
-#define MAX_PATH_LENGTH 100
 
 unsigned load_program(
 	struct radeon_compiler *c,
@@ -536,14 +536,14 @@ unsigned load_program(
 	const char *filename)
 {
 	char line[MAX_LINE_LENGTH];
-	char path[MAX_PATH_LENGTH];
+	char path[PATH_MAX];
 	FILE *file;
 	unsigned *count;
 	char **string_store;
 	unsigned i = 0;
 
 	memset(line, 0, sizeof(line));
-	snprintf(path, MAX_PATH_LENGTH, TEST_PATH "/%s", filename);
+	snprintf(path, PATH_MAX, TEST_PATH "/%s", filename);
 	file = fopen(path, "r");
 	if (!file) {
 		return 0;




More information about the mesa-commit mailing list