summaryrefslogtreecommitdiffstats
path: root/source/l/hal/patches/increase_HAL_PATH_MAX_to_4096.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/hal/patches/increase_HAL_PATH_MAX_to_4096.diff')
-rw-r--r--source/l/hal/patches/increase_HAL_PATH_MAX_to_4096.diff30
1 files changed, 30 insertions, 0 deletions
diff --git a/source/l/hal/patches/increase_HAL_PATH_MAX_to_4096.diff b/source/l/hal/patches/increase_HAL_PATH_MAX_to_4096.diff
new file mode 100644
index 000000000..b4c770aee
--- /dev/null
+++ b/source/l/hal/patches/increase_HAL_PATH_MAX_to_4096.diff
@@ -0,0 +1,30 @@
+commit a2c3dd5a04d79265772c09c4280606d5c2ed72c6
+Author: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Mon Jan 4 16:56:13 2010 +0100
+
+ 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);
+