summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/xfractint/files/xfractint-20.04p07-filename-buffer-overflow-fix.patch')
-rw-r--r--x11-misc/xfractint/files/xfractint-20.04p07-filename-buffer-overflow-fix.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/x11-misc/xfractint/files/xfractint-20.04p07-filename-buffer-overflow-fix.patch b/x11-misc/xfractint/files/xfractint-20.04p07-filename-buffer-overflow-fix.patch
new file mode 100644
index 000000000000..7f9a2ecbc503
--- /dev/null
+++ b/x11-misc/xfractint/files/xfractint-20.04p07-filename-buffer-overflow-fix.patch
@@ -0,0 +1,117 @@
+diff -urN ../xfractint-20.04p07-orig/dos_help/hc.c ../xfractint-20.04p07/dos_help/hc.c
+--- ../xfractint-20.04p07-orig/dos_help/hc.c 2006-03-15 10:30:47 +0900
++++ ../xfractint-20.04p07/dos_help/hc.c 2007-12-28 16:05:53 +0900
+@@ -72,8 +72,8 @@
+ # include <dir.h>
+ # define FNSPLIT fnsplit
+ #else
+-# define MAXFILE _MAX_FNAME
+-# define MAXEXT _MAX_EXT
++# define MAXFILE FILE_MAX_FNAME
++# define MAXEXT FILE_MAX_EXT
+ # define FNSPLIT _splitpath
+ #endif
+
+diff -urN ../xfractint-20.04p07-orig/headers/fractint.h ../xfractint-20.04p07/headers/fractint.h
+--- ../xfractint-20.04p07-orig/headers/fractint.h 2006-11-26 04:43:07 +0900
++++ ../xfractint-20.04p07/headers/fractint.h 2007-12-28 16:07:02 +0900
+@@ -47,31 +47,6 @@
+ #define RESTORESTART 3
+ #define CONTINUE 4
+
+-/* these are used to declare arrays for file names */
+-#ifdef XFRACT
+-#define FILE_MAX_PATH 256 /* max length of path+filename */
+-#define FILE_MAX_DIR 256 /* max length of directory name */
+-#else
+-#define FILE_MAX_PATH 80 /* max length of path+filename */
+-#define FILE_MAX_DIR 80 /* max length of directory name */
+-#endif
+-#define FILE_MAX_DRIVE 3 /* max length of drive letter */
+-
+-#if 1
+-#define FILE_MAX_FNAME 9 /* max length of filename */
+-#define FILE_MAX_EXT 5 /* max length of extension */
+-#else
+-/*
+-The filename limits were increased in Xfract 3.02. But alas,
+-in this poor program that was originally developed on the
+-nearly-brain-dead DOS operating system, quite a few things
+-in the UI would break if file names were bigger than DOS 8-3
+-names. So for now humor us and let's keep the names short.
+-*/
+-#define FILE_MAX_FNAME 64 /* max length of filename */
+-#define FILE_MAX_EXT 64 /* max length of extension */
+-#endif
+-
+ #define MAXMAXLINELENGTH 128 /* upper limit for maxlinelength for PARs */
+ #define MINMAXLINELENGTH 40 /* lower limit for maxlinelength for PARs */
+
+diff -urN ../xfractint-20.04p07-orig/headers/port.h ../xfractint-20.04p07/headers/port.h
+--- ../xfractint-20.04p07-orig/headers/port.h 2006-11-26 04:43:07 +0900
++++ ../xfractint-20.04p07/headers/port.h 2007-12-28 16:11:15 +0900
+@@ -260,6 +260,36 @@
+ #endif
+ #endif
+
++
++/* The following FILE_* #defines were moved here from fractint.h to
++ * avoid inconsistent declarations in dos_help/hc.c and unix/unix.c. */
++
++/* these are used to declare arrays for file names */
++#ifdef XFRACT
++#define FILE_MAX_PATH 256 /* max length of path+filename */
++#define FILE_MAX_DIR 256 /* max length of directory name */
++#else
++#define FILE_MAX_PATH 80 /* max length of path+filename */
++#define FILE_MAX_DIR 80 /* max length of directory name */
++#endif
++#define FILE_MAX_DRIVE 3 /* max length of drive letter */
++
++#if 1
++#define FILE_MAX_FNAME 9 /* max length of filename */
++#define FILE_MAX_EXT 5 /* max length of extension */
++#else
++/*
++The filename limits were increased in Xfract 3.02. But alas,
++in this poor program that was originally developed on the
++nearly-brain-dead DOS operating system, quite a few things
++in the UI would break if file names were bigger than DOS 8-3
++names. So for now humor us and let's keep the names short.
++*/
++#define FILE_MAX_FNAME 64 /* max length of filename */
++#define FILE_MAX_EXT 64 /* max length of extension */
++#endif
++
++
+ /* Uses big_access32(), big_set32(),... functions instead of macros. */
+ /* Some little endian machines may require this as well. */
+ #if BYTE_ORDER == BIG_ENDIAN
+diff -urN ../xfractint-20.04p07-orig/headers/unix.h ../xfractint-20.04p07/headers/unix.h
+--- ../xfractint-20.04p07-orig/headers/unix.h 2006-11-26 04:43:07 +0900
++++ ../xfractint-20.04p07/headers/unix.h 2007-12-28 15:52:47 +0900
+@@ -28,8 +28,6 @@
+ #define max(a,b) ((a)>(b)?(a):(b))
+ #define min(a,b) ((a)<(b)?(a):(b))
+ #define remove(x) unlink(x)
+-#define _MAX_FNAME 20
+-#define _MAX_EXT 4
+ #define chsize(fd,len) ftruncate(fd,len)
+
+ #define inp(x) 0
+diff -urN ../xfractint-20.04p07-orig/unix/unix.c ../xfractint-20.04p07/unix/unix.c
+--- ../xfractint-20.04p07-orig/unix/unix.c 2005-07-28 09:55:02 +0900
++++ ../xfractint-20.04p07/unix/unix.c 2007-12-28 16:05:56 +0900
+@@ -15,12 +15,6 @@
+ #include <ctype.h>
+ #include "port.h"
+
+-#define FILE_MAX_PATH 256 /* max length of path+filename */
+-#define FILE_MAX_DIR 256 /* max length of directory name */
+-#define FILE_MAX_DRIVE 3 /* max length of drive letter */
+-#define FILE_MAX_FNAME 9 /* max length of filename */
+-#define FILE_MAX_EXT 5 /* max length of extension */
+-
+ int iocount;
+
+ /*