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

Emil Velikov evelikov at kemper.freedesktop.org
Sat Mar 7 16:52:54 UTC 2015


Module: Mesa
Branch: 10.4
Commit: 8e8d215cae22238125e99166115400ce281d72e9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e8d215cae22238125e99166115400ce281d72e9

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>
(cherry picked from commit f5e2aa1324dd6a9666bb21834097d2fbc3cb99b6)

---

 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