Skip to content

Commit 4d6fb5e

Browse files
committed
updated libmagic.patch
1 parent 85bdb21 commit 4d6fb5e

File tree

1 file changed

+30
-27
lines changed

1 file changed

+30
-27
lines changed

ext/fileinfo/libmagic.patch

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
22
--- libmagic.orig/apprentice.c Tue Nov 19 22:01:12 2013
3-
+++ libmagic/apprentice.c Sun Dec 28 16:29:05 2014
3+
+++ libmagic/apprentice.c Sun Jan 4 17:07:55 2015
44
@@ -29,6 +29,8 @@
55
* apprentice - make one pass through /etc/magic, learning its secrets.
66
*/
@@ -798,7 +798,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
798798
}
799799
diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
800800
--- libmagic.orig/ascmagic.c Thu Feb 13 00:20:53 2014
801-
+++ libmagic/ascmagic.c Sun Nov 9 19:16:18 2014
801+
+++ libmagic/ascmagic.c Sun Jan 4 17:06:01 2015
802802
@@ -139,7 +139,7 @@
803803
/* malloc size is a conservative overestimate; could be
804804
improved, or at least realloced after conversion. */
@@ -820,7 +820,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
820820
}
821821
diff -u libmagic.orig/cdf.c libmagic/cdf.c
822822
--- libmagic.orig/cdf.c Tue Feb 26 17:20:42 2013
823-
+++ libmagic/cdf.c Sun Nov 9 19:16:18 2014
823+
+++ libmagic/cdf.c Sun Jan 4 17:07:55 2015
824824
@@ -35,7 +35,7 @@
825825
#include "file.h"
826826

@@ -1071,7 +1071,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c
10711071
} else {
10721072
diff -u libmagic.orig/cdf.h libmagic/cdf.h
10731073
--- libmagic.orig/cdf.h Thu Jun 21 00:19:55 2012
1074-
+++ libmagic/cdf.h Sun Nov 9 19:16:18 2014
1074+
+++ libmagic/cdf.h Sun Jan 4 17:06:01 2015
10751075
@@ -35,10 +35,12 @@
10761076
#ifndef _H_CDF_
10771077
#define _H_CDF_
@@ -1184,7 +1184,7 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c
11841184
static const char *ref = "Sat Apr 23 01:30:00 1977";
11851185
diff -u libmagic.orig/compress.c libmagic/compress.c
11861186
--- libmagic.orig/compress.c Sun Jan 5 16:55:21 2014
1187-
+++ libmagic/compress.c Sun Nov 9 19:16:18 2014
1187+
+++ libmagic/compress.c Sun Jan 4 17:07:55 2015
11881188
@@ -32,6 +32,7 @@
11891189
* uncompress(method, old, n, newch) - uncompress old into new,
11901190
* using method, return sizeof new
@@ -1347,7 +1347,7 @@ diff -u libmagic.orig/compress.c libmagic/compress.c
13471347
+#endif /* if PHP_FILEINFO_UNCOMPRESS */
13481348
diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
13491349
--- libmagic.orig/elfclass.h Mon Feb 18 19:33:14 2013
1350-
+++ libmagic/elfclass.h Sun Nov 9 19:16:18 2014
1350+
+++ libmagic/elfclass.h Sun Jan 4 17:07:55 2015
13511351
@@ -37,7 +37,7 @@
13521352
case ET_CORE:
13531353
flags |= FLAGS_IS_CORE;
@@ -1377,7 +1377,7 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
13771377
fsize, &flags, elf_getu16(swap, elfhdr.e_machine),
13781378
diff -u libmagic.orig/file.h libmagic/file.h
13791379
--- libmagic.orig/file.h Thu Feb 13 00:20:53 2014
1380-
+++ libmagic/file.h Wed Dec 10 12:00:53 2014
1380+
+++ libmagic/file.h Sun Jan 4 17:07:55 2015
13811381
@@ -33,11 +33,9 @@
13821382
#ifndef __file_h__
13831383
#define __file_h__
@@ -1558,7 +1558,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
15581558
#endif /* __file_h__ */
15591559
diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
15601560
--- libmagic.orig/fsmagic.c Sun Dec 1 20:22:13 2013
1561-
+++ libmagic/fsmagic.c Thu Dec 18 10:09:03 2014
1561+
+++ libmagic/fsmagic.c Sun Jan 4 17:07:55 2015
15621562
@@ -59,27 +59,21 @@
15631563
# define minor(dev) ((dev) & 0xff)
15641564
#endif
@@ -1882,7 +1882,7 @@ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
18821882
}
18831883
diff -u libmagic.orig/funcs.c libmagic/funcs.c
18841884
--- libmagic.orig/funcs.c Thu Feb 13 00:20:53 2014
1885-
+++ libmagic/funcs.c Thu Dec 18 10:09:03 2014
1885+
+++ libmagic/funcs.c Sun Jan 4 17:07:55 2015
18861886
@@ -27,7 +27,7 @@
18871887
#include "file.h"
18881888

@@ -2212,7 +2212,7 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
22122212
}
22132213
diff -u libmagic.orig/magic.c libmagic/magic.c
22142214
--- libmagic.orig/magic.c Sun Dec 1 20:22:13 2013
2215-
+++ libmagic/magic.c Thu Dec 18 10:09:03 2014
2215+
+++ libmagic/magic.c Sun Jan 4 17:07:55 2015
22162216
@@ -25,11 +25,6 @@
22172217
* SUCH DAMAGE.
22182218
*/
@@ -2555,7 +2555,7 @@ diff -u libmagic.orig/magic.c libmagic/magic.c
25552555
magic_error(struct magic_set *ms)
25562556
diff -u libmagic.orig/magic.h libmagic/magic.h
25572557
--- libmagic.orig/magic.h Tue Feb 11 16:30:44 2014
2558-
+++ libmagic/magic.h Sun Nov 9 19:16:18 2014
2558+
+++ libmagic/magic.h Sun Jan 4 17:06:01 2015
25592559
@@ -75,7 +75,7 @@
25602560
#define MAGIC_NO_CHECK_FORTRAN 0x000000 /* Don't check ascii/fortran */
25612561
#define MAGIC_NO_CHECK_TROFF 0x000000 /* Don't check ascii/troff */
@@ -2583,7 +2583,7 @@ diff -u libmagic.orig/magic.h libmagic/magic.h
25832583

25842584
diff -u libmagic.orig/print.c libmagic/print.c
25852585
--- libmagic.orig/print.c Tue Feb 26 19:25:00 2013
2586-
+++ libmagic/print.c Tue Dec 30 19:41:55 2014
2586+
+++ libmagic/print.c Sun Jan 4 17:07:55 2015
25872587
@@ -28,13 +28,17 @@
25882588
/*
25892589
* print.c - debugging printout routines
@@ -2816,7 +2816,7 @@ diff -u libmagic.orig/print.c libmagic/print.c
28162816
}
28172817
diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
28182818
--- libmagic.orig/readcdf.c Tue Jan 7 04:13:42 2014
2819-
+++ libmagic/readcdf.c Sun Nov 9 19:16:18 2014
2819+
+++ libmagic/readcdf.c Sun Jan 4 17:06:01 2015
28202820
@@ -26,11 +26,15 @@
28212821
#include "file.h"
28222822

@@ -3034,7 +3034,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
30343034
if (str != NULL) {
30353035
diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
30363036
--- libmagic.orig/softmagic.c Thu Feb 13 00:20:53 2014
3037-
+++ libmagic/softmagic.c Thu Dec 18 10:09:03 2014
3037+
+++ libmagic/softmagic.c Sun Jan 4 17:07:55 2015
30383038
@@ -50,6 +50,11 @@
30393039
#include <locale.h>
30403040
#endif
@@ -3180,7 +3180,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
31803180
break; \
31813181
} \
31823182

3183-
@@ -931,10 +917,18 @@
3183+
@@ -931,10 +917,21 @@
31843184
return 1;
31853185
}
31863186
case FILE_PSTRING: {
@@ -3190,19 +3190,22 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
31903190
size_t len = file_pstring_get_length(m, ptr1);
31913191
- if (len >= sizeof(p->s))
31923192
- len = sizeof(p->s) - 1;
3193-
+ if (len >= sizeof(p->s)) {
3193+
+ sz = sizeof(p->s) - sz; /* maximum length of string */
3194+
+ if (len >= sz) {
31943195
+ /*
31953196
+ * The size of the pascal string length (sz)
31963197
+ * is 1, 2, or 4. We need at least 1 byte for NUL
31973198
+ * termination, but we've already truncated the
31983199
+ * string by p->s, so we need to deduct sz.
3200+
+ * Because we can use one of the bytes of the length
3201+
+ * after we shifted as NUL termination.
31993202
+ */
3200-
+ len = sizeof(p->s) - sz;
3203+
+ len = sz;
32013204
+ }
32023205
while (len--)
32033206
*ptr1++ = *ptr2++;
32043207
*ptr1 = '\0';
3205-
@@ -1046,7 +1040,7 @@
3208+
@@ -1046,7 +1043,7 @@
32063209

32073210
private int
32083211
mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir,
@@ -3211,7 +3214,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
32113214
{
32123215
/*
32133216
* Note: FILE_SEARCH and FILE_REGEX do not actually copy
3214-
@@ -1066,15 +1060,24 @@
3217+
@@ -1066,15 +1063,24 @@
32153218
const char *last; /* end of search region */
32163219
const char *buf; /* start of search region */
32173220
const char *end;
@@ -3238,7 +3241,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
32383241
/* mget() guarantees buf <= last */
32393242
for (lines = linecnt, b = buf; lines && b < end &&
32403243
((b = CAST(const char *,
3241-
@@ -1087,7 +1090,7 @@
3244+
@@ -1087,7 +1093,7 @@
32423245
b++;
32433246
}
32443247
if (lines)
@@ -3247,15 +3250,15 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
32473250

32483251
ms->search.s = buf;
32493252
ms->search.s_len = last - buf;
3250-
@@ -1158,7 +1161,6 @@
3253+
@@ -1158,7 +1164,6 @@
32513254
int *need_separator, int *returnval)
32523255
{
32533256
uint32_t soffset, offset = ms->offset;
32543257
- uint32_t count = m->str_range;
32553258
int rv, oneed_separator, in_type;
32563259
char *sbuf, *rbuf;
32573260
union VALUETYPE *p = &ms->ms_value;
3258-
@@ -1170,17 +1172,13 @@
3261+
@@ -1170,17 +1175,13 @@
32593262
}
32603263

32613264
if (mcopy(ms, p, m->type, m->flag & INDIR, s, (uint32_t)(offset + o),
@@ -3275,7 +3278,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
32753278
}
32763279

32773280
if (m->flag & INDIR) {
3278-
@@ -1672,16 +1670,13 @@
3281+
@@ -1672,16 +1673,13 @@
32793282
if ((ms->flags & MAGIC_DEBUG) != 0)
32803283
fprintf(stderr, "indirect +offs=%u\n", offset);
32813284
}
@@ -3293,7 +3296,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
32933296
}
32943297
}
32953298

3296-
@@ -1755,11 +1750,21 @@
3299+
@@ -1755,11 +1753,21 @@
32973300
ms->offset = soffset;
32983301
if (rv == 1) {
32993302
if ((ms->flags & (MAGIC_MIME|MAGIC_APPLE)) == 0 &&
@@ -3318,7 +3321,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
33183321
}
33193322
return rv;
33203323

3321-
@@ -1875,6 +1880,41 @@
3324+
@@ -1875,6 +1883,41 @@
33223325
return file_strncmp(a, b, len, flags);
33233326
}
33243327

@@ -3360,7 +3363,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
33603363
private int
33613364
magiccheck(struct magic_set *ms, struct magic *m)
33623365
{
3363-
@@ -2035,63 +2075,111 @@
3366+
@@ -2035,63 +2078,111 @@
33643367
break;
33653368
}
33663369
case FILE_REGEX: {
@@ -3526,7 +3529,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
35263529
case FILE_INDIRECT:
35273530
diff -u libmagic.orig/strcasestr.c libmagic/strcasestr.c
35283531
--- libmagic.orig/strcasestr.c Thu Dec 5 17:57:50 2013
3529-
+++ libmagic/strcasestr.c Sun Nov 9 19:16:18 2014
3532+
+++ libmagic/strcasestr.c Sun Jan 4 17:06:01 2015
35303533
@@ -37,6 +37,8 @@
35313534
__RCSID("$NetBSD: strncasecmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $");
35323535
#endif /* LIBC_SCCS and not lint */

0 commit comments

Comments
 (0)