summaryrefslogtreecommitdiff
path: root/dev-games/hdl_dump/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-games/hdl_dump/files
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-games/hdl_dump/files')
-rw-r--r--dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch b/dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch
new file mode 100644
index 000000000000..96f85d4609af
--- /dev/null
+++ b/dev-games/hdl_dump/files/hdl_dump-0.8.6.20060901-fortify.patch
@@ -0,0 +1,45 @@
+http://bugs.gentoo.org/340145
+
+fix buffer overflows in path handling. these defines should only be used
+with host paths, so bumping them up to a larger value should be fine.
+
+--- a/common.h
++++ b/common.h
+@@ -35,7 +35,8 @@
+ C_START
+
+ #if !defined (MAX_PATH)
+-# define MAX_PATH 128
++/* This needs to be at least 256 bytes -- see iin_gi_probe_path */
++# define MAX_PATH 1024
+ #endif
+
+
+--- a/osal.h
++++ b/osal.h
+@@ -62,7 +62,8 @@ typedef struct
+ # define OSAL_HANDLE_INIT { -1 } /* file descriptor */
+ # define OSAL_IS_OPENED(x) ((x).desc != -1)
+
+-# define MAX_PATH 256
++/* This needs to be at least 256 bytes -- see iin_gi_probe_path */
++# define MAX_PATH 1024
+
+ #endif
+ typedef /*@special@*/ /*@only@*/ /*@out@*/ osal_handle_t* osal_handle_p_t;
+
+the magic field is 32 bytes, so strcpy-ing 32 bytes will add a 33rd NUL char.
+this isn't a problem in practice as the 33rd char is "unknown_0x02", but let's
+fix the issue anyways.
+
+--- a/apa.c
++++ b/apa.c
+@@ -1270,7 +1270,7 @@ apa_initialize_ex (hio_t *hio)
+ set_u32 (&header.length, 128 * 1024 * 2);
+ set_u16 (&header.type, 0x0001);
+ set_ps2fs_datetime (&header.created, time (NULL));
+- strcpy (header.mbr.magic, "Sony Computer Entertainment Inc.");
++ memcpy (header.mbr.magic, "Sony Computer Entertainment Inc.", 32);
+ header.mbr.unknown_0x02 = 0x02;
+ set_ps2fs_datetime (&header.mbr.created, time (NULL));
+ set_u32 (&header.checksum, apa_partition_checksum (&header));