1
1
diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
2
2
--- 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
4
4
@@ -29,6 +29,8 @@
5
5
* apprentice - make one pass through /etc/magic, learning its secrets.
6
6
*/
@@ -798,7 +798,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
798
798
}
799
799
diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
800
800
--- 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
802
802
@@ -139,7 +139,7 @@
803
803
/* malloc size is a conservative overestimate; could be
804
804
improved, or at least realloced after conversion. */
@@ -820,7 +820,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
820
820
}
821
821
diff -u libmagic.orig/cdf.c libmagic/cdf.c
822
822
--- 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
824
824
@@ -35,7 +35,7 @@
825
825
#include "file.h"
826
826
@@ -1071,7 +1071,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c
1071
1071
} else {
1072
1072
diff -u libmagic.orig/cdf.h libmagic/cdf.h
1073
1073
--- 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
1075
1075
@@ -35,10 +35,12 @@
1076
1076
#ifndef _H_CDF_
1077
1077
#define _H_CDF_
@@ -1184,7 +1184,7 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c
1184
1184
static const char *ref = "Sat Apr 23 01:30:00 1977";
1185
1185
diff -u libmagic.orig/compress.c libmagic/compress.c
1186
1186
--- 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
1188
1188
@@ -32,6 +32,7 @@
1189
1189
* uncompress(method, old, n, newch) - uncompress old into new,
1190
1190
* using method, return sizeof new
@@ -1347,7 +1347,7 @@ diff -u libmagic.orig/compress.c libmagic/compress.c
1347
1347
+ #endif /* if PHP_FILEINFO_UNCOMPRESS */
1348
1348
diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
1349
1349
--- 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
1351
1351
@@ -37,7 +37,7 @@
1352
1352
case ET_CORE:
1353
1353
flags |= FLAGS_IS_CORE;
@@ -1377,7 +1377,7 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
1377
1377
fsize, &flags, elf_getu16(swap, elfhdr.e_machine),
1378
1378
diff -u libmagic.orig/file.h libmagic/file.h
1379
1379
--- 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
1381
1381
@@ -33,11 +33,9 @@
1382
1382
#ifndef __file_h__
1383
1383
#define __file_h__
@@ -1558,7 +1558,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
1558
1558
#endif /* __file_h__ */
1559
1559
diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
1560
1560
--- 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
1562
1562
@@ -59,27 +59,21 @@
1563
1563
# define minor(dev) ((dev) & 0xff)
1564
1564
#endif
@@ -1882,7 +1882,7 @@ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
1882
1882
}
1883
1883
diff -u libmagic.orig/funcs.c libmagic/funcs.c
1884
1884
--- 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
1886
1886
@@ -27,7 +27,7 @@
1887
1887
#include "file.h"
1888
1888
@@ -2212,7 +2212,7 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
2212
2212
}
2213
2213
diff -u libmagic.orig/magic.c libmagic/magic.c
2214
2214
--- 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
2216
2216
@@ -25,11 +25,6 @@
2217
2217
* SUCH DAMAGE.
2218
2218
*/
@@ -2555,7 +2555,7 @@ diff -u libmagic.orig/magic.c libmagic/magic.c
2555
2555
magic_error(struct magic_set *ms)
2556
2556
diff -u libmagic.orig/magic.h libmagic/magic.h
2557
2557
--- 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
2559
2559
@@ -75,7 +75,7 @@
2560
2560
#define MAGIC_NO_CHECK_FORTRAN 0x000000 /* Don't check ascii/fortran */
2561
2561
#define MAGIC_NO_CHECK_TROFF 0x000000 /* Don't check ascii/troff */
@@ -2583,7 +2583,7 @@ diff -u libmagic.orig/magic.h libmagic/magic.h
2583
2583
2584
2584
diff -u libmagic.orig/print.c libmagic/print.c
2585
2585
--- 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
2587
2587
@@ -28,13 +28,17 @@
2588
2588
/*
2589
2589
* print.c - debugging printout routines
@@ -2816,7 +2816,7 @@ diff -u libmagic.orig/print.c libmagic/print.c
2816
2816
}
2817
2817
diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
2818
2818
--- 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
2820
2820
@@ -26,11 +26,15 @@
2821
2821
#include "file.h"
2822
2822
@@ -3034,7 +3034,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
3034
3034
if (str != NULL) {
3035
3035
diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3036
3036
--- 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
3038
3038
@@ -50,6 +50,11 @@
3039
3039
#include <locale.h>
3040
3040
#endif
@@ -3180,7 +3180,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3180
3180
break; \
3181
3181
} \
3182
3182
3183
- @@ -931,10 +917,18 @@
3183
+ @@ -931,10 +917,21 @@
3184
3184
return 1;
3185
3185
}
3186
3186
case FILE_PSTRING: {
@@ -3190,19 +3190,22 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3190
3190
size_t len = file_pstring_get_length(m, ptr1);
3191
3191
- if (len >= sizeof(p->s))
3192
3192
- 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) {
3194
3195
+ /*
3195
3196
+ * The size of the pascal string length (sz)
3196
3197
+ * is 1, 2, or 4. We need at least 1 byte for NUL
3197
3198
+ * termination, but we've already truncated the
3198
3199
+ * 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.
3199
3202
+ */
3200
- + len = sizeof(p->s) - sz;
3203
+ + len = sz;
3201
3204
+ }
3202
3205
while (len--)
3203
3206
*ptr1++ = *ptr2++;
3204
3207
*ptr1 = '\0';
3205
- @@ -1046,7 +1040 ,7 @@
3208
+ @@ -1046,7 +1043 ,7 @@
3206
3209
3207
3210
private int
3208
3211
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
3211
3214
{
3212
3215
/*
3213
3216
* Note: FILE_SEARCH and FILE_REGEX do not actually copy
3214
- @@ -1066,15 +1060 ,24 @@
3217
+ @@ -1066,15 +1063 ,24 @@
3215
3218
const char *last; /* end of search region */
3216
3219
const char *buf; /* start of search region */
3217
3220
const char *end;
@@ -3238,7 +3241,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3238
3241
/* mget() guarantees buf <= last */
3239
3242
for (lines = linecnt, b = buf; lines && b < end &&
3240
3243
((b = CAST(const char *,
3241
- @@ -1087,7 +1090 ,7 @@
3244
+ @@ -1087,7 +1093 ,7 @@
3242
3245
b++;
3243
3246
}
3244
3247
if (lines)
@@ -3247,15 +3250,15 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3247
3250
3248
3251
ms->search.s = buf;
3249
3252
ms->search.s_len = last - buf;
3250
- @@ -1158,7 +1161 ,6 @@
3253
+ @@ -1158,7 +1164 ,6 @@
3251
3254
int *need_separator, int *returnval)
3252
3255
{
3253
3256
uint32_t soffset, offset = ms->offset;
3254
3257
- uint32_t count = m->str_range;
3255
3258
int rv, oneed_separator, in_type;
3256
3259
char *sbuf, *rbuf;
3257
3260
union VALUETYPE *p = &ms->ms_value;
3258
- @@ -1170,17 +1172 ,13 @@
3261
+ @@ -1170,17 +1175 ,13 @@
3259
3262
}
3260
3263
3261
3264
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
3275
3278
}
3276
3279
3277
3280
if (m->flag & INDIR) {
3278
- @@ -1672,16 +1670 ,13 @@
3281
+ @@ -1672,16 +1673 ,13 @@
3279
3282
if ((ms->flags & MAGIC_DEBUG) != 0)
3280
3283
fprintf(stderr, "indirect +offs=%u\n", offset);
3281
3284
}
@@ -3293,7 +3296,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3293
3296
}
3294
3297
}
3295
3298
3296
- @@ -1755,11 +1750 ,21 @@
3299
+ @@ -1755,11 +1753 ,21 @@
3297
3300
ms->offset = soffset;
3298
3301
if (rv == 1) {
3299
3302
if ((ms->flags & (MAGIC_MIME|MAGIC_APPLE)) == 0 &&
@@ -3318,7 +3321,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3318
3321
}
3319
3322
return rv;
3320
3323
3321
- @@ -1875,6 +1880 ,41 @@
3324
+ @@ -1875,6 +1883 ,41 @@
3322
3325
return file_strncmp(a, b, len, flags);
3323
3326
}
3324
3327
@@ -3360,7 +3363,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3360
3363
private int
3361
3364
magiccheck(struct magic_set *ms, struct magic *m)
3362
3365
{
3363
- @@ -2035,63 +2075 ,111 @@
3366
+ @@ -2035,63 +2078 ,111 @@
3364
3367
break;
3365
3368
}
3366
3369
case FILE_REGEX: {
@@ -3526,7 +3529,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
3526
3529
case FILE_INDIRECT:
3527
3530
diff -u libmagic.orig/strcasestr.c libmagic/strcasestr.c
3528
3531
--- 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
3530
3533
@@ -37,6 +37,8 @@
3531
3534
__RCSID("$NetBSD: strncasecmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $");
3532
3535
#endif /* LIBC_SCCS and not lint */
0 commit comments