]> granicus.if.org Git - php/commitdiff
Update libmagic.patch
authorAnatol Belski <ab@php.net>
Mon, 30 Apr 2018 12:29:55 +0000 (14:29 +0200)
committerAnatol Belski <ab@php.net>
Mon, 30 Apr 2018 12:29:55 +0000 (14:29 +0200)
ext/fileinfo/libmagic.patch

index d00b18e69d8f1498fd507d8b7f15365974bfd57a..43b77c23c3f2f1cb6b93edd99d1123a28e11ea95 100644 (file)
@@ -1,6 +1,6 @@
 diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
 --- libmagic.orig/apprentice.c 2018-03-11 01:46:42.000000000 +0100
-+++ libmagic/apprentice.c      2018-04-27 19:30:48.686308139 +0200
++++ libmagic/apprentice.c      2018-04-30 13:51:02.699987375 +0200
 @@ -2,7 +2,7 @@
   * Copyright (c) Ian F. Darwin 1986-1995.
   * Software written by Ian F. Darwin and others;
@@ -298,7 +298,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
                return NULL;
        }
        mlist->next = mlist->prev = mlist;
-@@ -593,76 +564,45 @@
+@@ -593,60 +564,12 @@
        for (ml = mlist->next; (next = ml->next) != NULL; ml = next) {
                if (ml->map)
                        apprentice_unmap(CAST(struct magic_map *, ml->map));
@@ -360,10 +360,8 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
  /* const char *fn: list of magic files and directories */
  protected int
  file_apprentice(struct magic_set *ms, const char *fn, int action)
- {
-       char *p, *mfn;
--      int fileerr, errs = -1;
-+      int file_err, errs = -1;
+@@ -655,14 +578,31 @@
+       int fileerr, errs = -1;
        size_t i;
  
 -      (void)file_reset(ms, 0);
@@ -405,14 +403,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
                        return -1;
                }
        }
-@@ -687,12 +627,12 @@
-                       *p++ = '\0';
-               if (*fn == '\0')
-                       break;
--              fileerr = apprentice_1(ms, fn, action);
--              errs = MAX(errs, fileerr);
-+              file_err = apprentice_1(ms, fn, action);
-+              errs = MAX(errs, file_err);
+@@ -692,7 +632,7 @@
                fn = p;
        }
  
@@ -1264,7 +1255,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
        switch (m->str_flags & PSTRING_LEN) {
 diff -u libmagic.orig/apptype.c libmagic/apptype.c
 --- libmagic.orig/apptype.c    2011-09-07 23:57:15.000000000 +0200
-+++ libmagic/apptype.c 2018-04-28 11:06:43.473101938 +0200
++++ libmagic/apptype.c 2018-04-30 11:42:56.817549017 +0200
 @@ -1,15 +1,15 @@
  /*
   * Adapted from: apptype.c, Written by Eberhard Mattes and put into the
@@ -1299,7 +1290,7 @@ diff -u libmagic.orig/apptype.c libmagic/apptype.c
  #include "file.h"
 diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
 --- libmagic.orig/ascmagic.c   2017-11-02 21:25:39.000000000 +0100
-+++ libmagic/ascmagic.c        2018-04-28 11:05:05.397660689 +0200
++++ libmagic/ascmagic.c        2018-04-30 11:42:56.885548829 +0200
 @@ -90,7 +90,7 @@
                rv = file_ascmagic_with_encoding(ms, &bb,
                    ubuf, ulen, code, type, text);
@@ -1330,7 +1321,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
  }
 diff -u libmagic.orig/buffer.c libmagic/buffer.c
 --- libmagic.orig/buffer.c     2018-03-11 01:46:42.000000000 +0100
-+++ libmagic/buffer.c  2018-04-27 19:30:49.006293549 +0200
++++ libmagic/buffer.c  2018-04-30 11:42:56.953548641 +0200
 @@ -31,7 +31,11 @@
  #endif        /* lint */
  
@@ -1381,7 +1372,7 @@ diff -u libmagic.orig/buffer.c libmagic/buffer.c
  
 diff -u libmagic.orig/cdf.c libmagic/cdf.c
 --- libmagic.orig/cdf.c        2018-03-11 01:46:42.000000000 +0100
-+++ libmagic/cdf.c     2018-04-28 09:02:14.865216158 +0200
++++ libmagic/cdf.c     2018-04-30 11:42:57.053548363 +0200
 @@ -43,7 +43,17 @@
  #include <err.h>
  #endif
@@ -1639,22 +1630,22 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c
  #endif
 diff -u libmagic.orig/cdf.h libmagic/cdf.h
 --- libmagic.orig/cdf.h        2017-03-09 17:57:17.000000000 +0100
-+++ libmagic/cdf.h     2018-04-27 19:30:49.234283137 +0200
-@@ -35,10 +35,12 @@
++++ libmagic/cdf.h     2018-04-30 11:43:04.761527016 +0200
+@@ -35,10 +35,10 @@
  #ifndef _H_CDF_
  #define _H_CDF_
  
 -#ifdef WIN32
 +#ifdef PHP_WIN32
  #include <winsock2.h>
- #define timespec timeval
- #define tv_nsec tv_usec
+-#define timespec timeval
+-#define tv_nsec tv_usec
 +#define asctime_r php_asctime_r
 +#define ctime_r php_ctime_r
  #endif
  #ifdef __DJGPP__
  #define timespec timeval
-@@ -272,7 +274,7 @@
+@@ -272,7 +272,7 @@
  typedef struct {
        uint16_t ce_namlen;
        uint32_t ce_num;
@@ -1663,22 +1654,9 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h
        uint16_t ce_name[256];
  } cdf_catalog_entry_t;
  
-@@ -281,9 +283,9 @@
-       cdf_catalog_entry_t cat_e[1];
- } cdf_catalog_t;
--struct timespec;
--int cdf_timestamp_to_timespec(struct timespec *, cdf_timestamp_t);
--int cdf_timespec_to_timestamp(cdf_timestamp_t *, const struct timespec *);
-+struct timeval;
-+int cdf_timestamp_to_timespec(struct timeval *, cdf_timestamp_t);
-+int cdf_timespec_to_timestamp(cdf_timestamp_t *, const struct timeval *);
- int cdf_read_header(const cdf_info_t *, cdf_header_t *);
- void cdf_swap_header(cdf_header_t *);
- void cdf_unpack_header(cdf_header_t *, char *);
 diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c
 --- libmagic.orig/cdf_time.c   2017-03-29 17:57:48.000000000 +0200
-+++ libmagic/cdf_time.c        2018-04-27 19:30:49.326278937 +0200
++++ libmagic/cdf_time.c        2018-04-30 11:42:57.117548186 +0200
 @@ -56,7 +56,7 @@
  
        for (y = CDF_BASE_YEAR; y < year; y++)
@@ -1697,57 +1675,9 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c
   * Return the 0...11 month number.
   */
  static int
-@@ -96,7 +96,7 @@
- }
- int
--cdf_timestamp_to_timespec(struct timespec *ts, cdf_timestamp_t t)
-+cdf_timestamp_to_timespec(struct timeval *ts, cdf_timestamp_t t)
- {
-       struct tm tm;
- #ifdef HAVE_STRUCT_TM_TM_ZONE
-@@ -104,8 +104,9 @@
- #endif
-       int rdays;
--      /* Unit is 100's of nanoseconds */
--      ts->tv_nsec = (t % CDF_TIME_PREC) * 100;
-+      /* XXX 5.14 at least introdced 100 ns intervals, this is to do */
-+      /* Time interval, in microseconds */
-+      ts->tv_usec = (t % CDF_TIME_PREC) * CDF_TIME_PREC;
-       t /= CDF_TIME_PREC;
-       tm.tm_sec = (int)(t % 60);
-@@ -144,7 +145,7 @@
- int
- /*ARGSUSED*/
--cdf_timespec_to_timestamp(cdf_timestamp_t *t, const struct timespec *ts)
-+cdf_timespec_to_timestamp(cdf_timestamp_t *t, const struct timeval *ts)
- {
- #ifndef __lint__
-       (void)&t;
-@@ -156,7 +157,7 @@
-               errno = EINVAL;
-               return -1;
-       }
--      *t = (ts->ts_nsec / 100) * CDF_TIME_PREC;
-+      *t = (ts->ts_usec / CDF_TIME_PREC) * CDF_TIME_PREC;
-       *t = tm.tm_sec;
-       *t += tm.tm_min * 60;
-       *t += tm.tm_hour * 60 * 60;
-@@ -181,7 +182,7 @@
- int
- main(int argc, char *argv[])
- {
--      struct timespec ts;
-+      struct timeval ts;
-       char buf[25];
-       static const cdf_timestamp_t tst = 0x01A5E403C2D59C00ULL;
-       static const char *ref = "Sat Apr 23 01:30:00 1977";
 diff -u libmagic.orig/compress.c libmagic/compress.c
 --- libmagic.orig/compress.c   2017-11-02 21:25:39.000000000 +0100
-+++ libmagic/compress.c        2018-04-28 11:18:14.190722374 +0200
++++ libmagic/compress.c        2018-04-30 11:42:57.189547987 +0200
 @@ -2,7 +2,7 @@
   * Copyright (c) Ian F. Darwin 1986-1995.
   * Software written by Ian F. Darwin and others;
@@ -2048,7 +1978,7 @@ diff -u libmagic.orig/compress.c libmagic/compress.c
 +#endif /* if PHP_FILEINFO_UNCOMPRESS */
 diff -u libmagic.orig/der.c libmagic/der.c
 --- libmagic.orig/der.c        2017-02-10 19:14:01.000000000 +0100
-+++ libmagic/der.c     2018-04-27 19:30:49.682262679 +0200
++++ libmagic/der.c     2018-04-30 11:42:57.277547743 +0200
 @@ -51,7 +51,9 @@
  #include "magic.h"
  #include "der.h"
@@ -2068,7 +1998,24 @@ diff -u libmagic.orig/der.c libmagic/der.c
                strlcpy(buf, der__tag[tag], len);
        else
                snprintf(buf, len, "%#x", tag);
-@@ -343,7 +345,7 @@
+@@ -218,6 +220,7 @@
+ static int
+ der_data(char *buf, size_t blen, uint32_t tag, const void *q, uint32_t len)
+ {
++      uint32_t i = 0;
+       const uint8_t *d = CAST(const uint8_t *, q);
+       switch (tag) {
+       case DER_TAG_PRINTABLE_STRING:
+@@ -229,7 +232,7 @@
+               break;
+       }
+               
+-      for (uint32_t i = 0; i < len; i++) {
++      for (; i < len; i++) {
+               uint32_t z = i << 1;
+               if (z < blen - 2)
+                       snprintf(buf + z, blen - z, "%.2x", d[i]);
+@@ -343,7 +346,7 @@
        default:
                break;
        }
@@ -2077,7 +2024,7 @@ diff -u libmagic.orig/der.c libmagic/der.c
        for (uint32_t i = 0; i < len; i++)
                printf("%.2x", d[i]);
        printf("\n");
-@@ -367,7 +369,7 @@
+@@ -367,7 +370,7 @@
                if (p + x >= ep)
                        break;
                uint32_t len = getlength(p, &x, ep - p + x);
@@ -2088,7 +2035,7 @@ diff -u libmagic.orig/der.c libmagic/der.c
                    der_tag(buf, sizeof(buf), tag), len);
 diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
 --- libmagic.orig/elfclass.h   2014-12-17 00:18:40.000000000 +0100
-+++ libmagic/elfclass.h        2018-04-27 19:30:49.866254276 +0200
++++ libmagic/elfclass.h        2018-04-30 11:43:04.969526440 +0200
 @@ -1,7 +1,7 @@
  /*
   * Copyright (c) Christos Zoulas 2008.
@@ -2136,7 +2083,7 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
                    (int)elf_getu16(swap, elfhdr.e_shstrndx),
 diff -u libmagic.orig/encoding.c libmagic/encoding.c
 --- libmagic.orig/encoding.c   2017-11-02 21:25:39.000000000 +0100
-+++ libmagic/encoding.c        2018-04-28 11:08:01.380663120 +0200
++++ libmagic/encoding.c        2018-04-30 11:46:38.432940402 +0200
 @@ -88,12 +88,12 @@
        *code_mime = "binary";
  
@@ -2166,7 +2113,7 @@ diff -u libmagic.orig/encoding.c libmagic/encoding.c
  }
 diff -u libmagic.orig/file.h libmagic/file.h
 --- libmagic.orig/file.h       2018-03-11 01:46:42.000000000 +0100
-+++ libmagic/file.h    2018-04-27 19:30:50.194239284 +0200
++++ libmagic/file.h    2018-04-30 11:43:05.041526241 +0200
 @@ -27,21 +27,15 @@
   */
  /*
@@ -2452,7 +2399,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
  #endif
 diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
 --- libmagic.orig/fsmagic.c    2017-05-24 21:17:50.000000000 +0200
-+++ libmagic/fsmagic.c 2018-04-27 19:30:50.306234161 +0200
++++ libmagic/fsmagic.c 2018-04-30 11:42:57.433547312 +0200
 @@ -2,7 +2,7 @@
   * Copyright (c) Ian F. Darwin 1986-1995.
   * Software written by Ian F. Darwin and others;
@@ -2824,7 +2771,7 @@ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
        case S_IFSOCK:
 diff -u libmagic.orig/funcs.c libmagic/funcs.c
 --- libmagic.orig/funcs.c      2017-11-02 21:25:39.000000000 +0100
-+++ libmagic/funcs.c   2018-04-28 12:46:26.840103237 +0200
++++ libmagic/funcs.c   2018-04-30 13:51:02.523987958 +0200
 @@ -31,7 +31,6 @@
  #endif        /* lint */
  
@@ -2881,14 +2828,14 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
 -      fprintf(stderr, "vasprintf failed (%s)", strerror(errno));
 -      return -1;
 -}
-+extern public void convert_libmagic_pattern(zval *pattern, char *val, int len, int options);
++extern public void convert_libmagic_pattern(zval *pattern, char *val, size_t len, uint32_t options);
  
  protected int
  file_printf(struct magic_set *ms, const char *fmt, ...)
  {
 -      int rv;
        va_list ap;
-+      int len;
++      size_t len;
 +      char *buf = NULL, *newstr;
  
        va_start(ap, fmt);
@@ -3086,7 +3033,7 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
 -              }
 -              rv = nm;
 +      zval patt;
-+      int opts = 0;
++      uint32_t opts = 0;
 +      pcre_cache_entry *pce;
 +      zend_string *res;
 +      zend_string *repl;
@@ -3201,7 +3148,7 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
  
 diff -u libmagic.orig/magic.c libmagic/magic.c
 --- libmagic.orig/magic.c      2017-08-28 15:39:18.000000000 +0200
-+++ libmagic/magic.c   2018-04-27 19:30:50.918206168 +0200
++++ libmagic/magic.c   2018-04-30 11:42:57.673546646 +0200
 @@ -25,11 +25,6 @@
   * SUCH DAMAGE.
   */
@@ -3678,7 +3625,7 @@ diff -u libmagic.orig/magic.c libmagic/magic.c
  magic_error(struct magic_set *ms)
 diff -u libmagic.orig/magic.h libmagic/magic.h
 --- libmagic.orig/magic.h      2018-04-23 20:45:58.824428361 +0200
-+++ libmagic/magic.h   2018-04-27 19:30:51.050200127 +0200
++++ libmagic/magic.h   2018-04-30 11:43:05.137525976 +0200
 @@ -122,6 +122,7 @@
  
  const char *magic_getpath(const char *, int);
@@ -3689,7 +3636,7 @@ diff -u libmagic.orig/magic.h libmagic/magic.h
  
 diff -u libmagic.orig/print.c libmagic/print.c
 --- libmagic.orig/print.c      2017-02-10 19:14:01.000000000 +0100
-+++ libmagic/print.c   2018-04-28 11:22:53.605682359 +0200
++++ libmagic/print.c   2018-04-30 11:42:57.733546480 +0200
 @@ -2,7 +2,7 @@
   * Copyright (c) Ian F. Darwin 1986-1995.
   * Software written by Ian F. Darwin and others;
@@ -3738,7 +3685,7 @@ diff -u libmagic.orig/print.c libmagic/print.c
                if (m->str_flags) {
                        (void) fputc('/', stderr);
                        if (m->str_flags & STRING_COMPACT_WHITESPACE) 
-@@ -215,30 +222,30 @@
+@@ -215,26 +222,26 @@
  file_magwarn(struct magic_set *ms, const char *f, ...)
  {
        va_list va;
@@ -3775,13 +3722,7 @@ diff -u libmagic.orig/print.c libmagic/print.c
 +      struct tm *tm = NULL;
  
        if (flags & FILE_T_WINDOWS) {
--              struct timespec ts;
--              cdf_timestamp_to_timespec(&ts, CAST(cdf_timestamp_t, v));
-+              struct timeval ts;
-+              cdf_timestamp_to_timespec(&ts, t);
-               t = ts.tv_sec;
-       } else {
-               // XXX: perhaps detect and print something if overflow
+               struct timespec ts;
 @@ -247,9 +254,29 @@
        }
  
@@ -3816,7 +3757,7 @@ diff -u libmagic.orig/print.c libmagic/print.c
                goto out;
 diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
 --- libmagic.orig/readcdf.c    2017-11-02 21:25:39.000000000 +0100
-+++ libmagic/readcdf.c 2018-04-28 08:59:06.029692824 +0200
++++ libmagic/readcdf.c 2018-04-30 11:42:57.805546280 +0200
 @@ -31,7 +31,11 @@
  
  #include <assert.h>
@@ -3829,18 +3770,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
  #include <string.h>
  #include <time.h>
  #include <ctype.h>
-@@ -75,6 +79,10 @@
-       { NULL,                         NULL,                   },
- };
-+#ifdef PHP_WIN32
-+# define strcasestr strstr
-+#endif
-+
- static const struct cv {
-       uint64_t clsid[2];
-       const char *mime;
-@@ -104,10 +112,6 @@
+@@ -104,10 +108,6 @@
                if (clsid[0] == cv[i].clsid[0] && clsid[1] == cv[i].clsid[1])
                        return cv[i].mime;
        }
@@ -3851,7 +3781,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
        return NULL;
  }
  
-@@ -116,30 +120,14 @@
+@@ -116,30 +116,14 @@
  {
        size_t i;
        const char *rv = NULL;
@@ -3884,14 +3814,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
        return rv;
  }
  
-@@ -149,12 +137,14 @@
- {
-         size_t i;
-         cdf_timestamp_t tp;
--        struct timespec ts;
-+        struct timeval ts;
-         char buf[64];
-         const char *str = NULL;
+@@ -155,6 +139,8 @@
          const char *s, *e;
          int len;
  
@@ -3900,21 +3823,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
          if (!NOTMIME(ms) && root_storage)
                str = cdf_clsid_to_mime(root_storage->d_storage_uuid,
                    clsid2mime);
-@@ -234,8 +224,11 @@
-                                                 return -1;
-                                 } else {
-                                         char *c, *ec;
--                                        cdf_timestamp_to_timespec(&ts, tp);
--                                        c = cdf_ctime(&ts.tv_sec, tbuf);
-+                                      const time_t sec = ts.tv_sec;
-+                                        if (cdf_timestamp_to_timespec(&ts, tp) == -1) {
-+                                                                                      return -1;
-+                                                                              }
-+                                        c = cdf_ctime(&sec, tbuf);
-                                         if (c != NULL &&
-                                           (ec = strchr(c, '\n')) != NULL)
-                                               *ec = '\0';
-@@ -281,10 +274,10 @@
+@@ -281,10 +267,10 @@
                        if (file_printf(ms, "%s%s",
                            cdf_u16tos8(buf, ce[i].ce_namlen, ce[i].ce_name),
                            i == cat->cat_num - 1 ? "]" : ", ") == -1) {
@@ -3927,7 +3836,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
        } else {
                if (file_printf(ms, "application/CDFV2") == -1)
                        return -1;
-@@ -345,7 +338,7 @@
+@@ -345,7 +331,7 @@
        }
  
          m = cdf_file_property_info(ms, info, count, root_storage);
@@ -3936,7 +3845,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
  
          return m == -1 ? -2 : m;
  }
-@@ -353,11 +346,11 @@
+@@ -353,11 +339,11 @@
  #ifdef notdef
  private char *
  format_clsid(char *buf, size_t len, const uint64_t uuid[2]) {
@@ -3950,7 +3859,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
            (uuid[1] >> 48) & (uint64_t)0x0000000000000ffffULL,
            (uuid[1] >>  0) & (uint64_t)0x0000fffffffffffffULL);
        return buf;
-@@ -436,7 +429,7 @@
+@@ -436,7 +422,7 @@
        const char *sections[5];
        const int  types[5];
  } sectioninfo[] = {
@@ -3959,7 +3868,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
                {
                        "EncryptedPackage", "EncryptedSummary",
                        NULL, NULL, NULL,
-@@ -448,7 +441,7 @@
+@@ -448,7 +434,7 @@
  
                },
        },
@@ -3968,7 +3877,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
                {
  #if 0
                        "TaxForms", "PDFTaxForms", "modulesInBackup",
-@@ -655,11 +648,11 @@
+@@ -655,11 +641,11 @@
        cdf_zero_stream(&scn);
        cdf_zero_stream(&sst);
  out3:
@@ -3985,7 +3894,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
            if (NOTMIME(ms)) {
 diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
 --- libmagic.orig/softmagic.c  2018-04-15 20:49:15.000000000 +0200
-+++ libmagic/softmagic.c       2018-04-27 19:30:51.678171356 +0200
++++ libmagic/softmagic.c       2018-04-30 13:51:02.611987667 +0200
 @@ -43,6 +43,10 @@
  #include <time.h>
  #include "der.h"
@@ -4246,7 +4155,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
  }
  
 +public void
-+convert_libmagic_pattern(zval *pattern, char *val, int len, int options)
++convert_libmagic_pattern(zval *pattern, char *val, size_t len, uint32_t options)
 +{
 +      int i, j=0;
 +      zend_string *t;
@@ -4291,7 +4200,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
 -              file_regex_t rx;
 -              const char *search;
 +              zval pattern;
-+              int options = 0;
++              uint32_t options = 0;
 +              pcre_cache_entry *pce;
  
 -              if (ms->search.s == NULL)
@@ -4415,7 +4324,7 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
        case FILE_INDIRECT:
 diff -u libmagic.orig/strcasestr.c libmagic/strcasestr.c
 --- libmagic.orig/strcasestr.c 2014-05-13 18:48:12.000000000 +0200
-+++ libmagic/strcasestr.c      2018-04-27 19:30:52.154149541 +0200
++++ libmagic/strcasestr.c      2018-04-30 11:42:57.969545825 +0200
 @@ -39,6 +39,8 @@
  
  #include "file.h"