summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/unarj/files/unarj-2.65-CAN-2004-0947.patch')
-rw-r--r--app-arch/unarj/files/unarj-2.65-CAN-2004-0947.patch49
1 files changed, 0 insertions, 49 deletions
diff --git a/app-arch/unarj/files/unarj-2.65-CAN-2004-0947.patch b/app-arch/unarj/files/unarj-2.65-CAN-2004-0947.patch
deleted file mode 100644
index f52af83ac2ca..000000000000
--- a/app-arch/unarj/files/unarj-2.65-CAN-2004-0947.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Index: unarj-2.65/unarj.c
-===================================================================
---- unarj-2.65.orig/unarj.c
-+++ unarj-2.65/unarj.c
-@@ -217,7 +217,7 @@ static uchar arj_flags;
- static short method;
- static uint file_mode;
- static ulong time_stamp;
--static short entry_pos;
-+static ushort entry_pos;
- static ushort host_data;
- static uchar *get_ptr;
- static UCRC file_crc;
-@@ -608,6 +608,7 @@ char *name;
- error(M_BADHEADR, "");
-
- crc = CRC_MASK;
-+ memset(header, 0, sizeof(header));
- fread_crc(header, (int) headersize, fd);
- header_crc = fget_crc(fd);
- if ((crc ^ CRC_MASK) != header_crc)
-@@ -632,9 +633,13 @@ char *name;
-
- if (origsize < 0 || compsize < 0)
- error(M_HEADRCRC, "");
-+ if(first_hdr_size > headersize-2) /* need two \0 for file and comment */
-+ error(M_BADHEADR, "");
-
- hdr_filename = (char *)&header[first_hdr_size];
- strncopy(filename, hdr_filename, sizeof(filename));
-+ if(entry_pos >= strlen(filename))
-+ error(M_BADHEADR, "");
- if (host_os != OS)
- strparity((uchar *)filename);
- if ((arj_flags & PATHSYM_FLAG) != 0)
-@@ -733,11 +738,11 @@ extract()
-
- no_output = 0;
- if (command == 'E')
-- strcpy(name, &filename[entry_pos]);
-+ strncopy(name, &filename[entry_pos], sizeof(name));
- else
- {
- strcpy(name, DEFAULT_DIR);
-- strcat(name, filename);
-+ strncopy(name+strlen(name), filename, sizeof(name)-strlen(name));
- }
-
- if (host_os != OS)