summaryrefslogtreecommitdiffstats
path: root/abs/core/hal/path-max.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/hal/path-max.patch')
-rw-r--r--abs/core/hal/path-max.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/abs/core/hal/path-max.patch b/abs/core/hal/path-max.patch
new file mode 100644
index 0000000..304185d
--- /dev/null
+++ b/abs/core/hal/path-max.patch
@@ -0,0 +1,31 @@
+From a2c3dd5a04d79265772c09c4280606d5c2ed72c6 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Mon, 04 Jan 2010 15:56:13 +0000
+Subject: Bump HAL_PATH_MAX to 4096
+
+Some bits in the code use realpath() with destination paths of size
+HAL_PATH_MAX. This potentially breaks on systems where PATH_MAX is bigger than
+HAL_PATH_MAX (which was 512 until now).
+
+Since we can't use PATH_MAX directly (due to platforms like GNU/Hurd, which
+apparently don't have it), just bump HAL_PATH_MAX to 4096 (as PATH_MAX is on
+Linux), to avoid potential buffer overflows and also fix hal on Linux when
+enabling FORTIFY in gcc.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=25888
+---
+diff --git a/hald/util.h b/hald/util.h
+index c2a1584..7883333 100644
+--- a/hald/util.h
++++ b/hald/util.h
+@@ -38,7 +38,7 @@
+ #endif
+
+ #define HAL_NAME_MAX 256
+-#define HAL_PATH_MAX 512
++#define HAL_PATH_MAX 4096
+
+ gboolean hal_util_remove_trailing_slash (gchar *path);
+
+--
+cgit v0.8.3-6-g21f6