From: Anatol Belski Date: Fri, 8 Mar 2019 20:55:15 +0000 (+0100) Subject: Update libmagic.patch [skip ci] X-Git-Tag: php-7.3.4RC1~29 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3e92365fa2204ec73a24734b2e83153d9c04e919;p=php Update libmagic.patch [skip ci] --- diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch index 1e1fc08b03..9eb377fc1f 100644 --- a/ext/fileinfo/libmagic.patch +++ b/ext/fileinfo/libmagic.patch @@ -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-11-05 21:33:14.919371593 +0100 ++++ libmagic/apprentice.c 2018-11-05 00:16:58.812821826 +0100 @@ -2,7 +2,7 @@ * Copyright (c) Ian F. Darwin 1986-1995. * Software written by Ian F. Darwin and others; @@ -1245,7 +1245,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-08-10 11:51:05.107276763 +0200 ++++ libmagic/apptype.c 2018-08-10 11:46:29.210671445 +0200 @@ -1,15 +1,15 @@ /* * Adapted from: apptype.c, Written by Eberhard Mattes and put into the @@ -1280,7 +1280,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-08-10 11:51:05.107276763 +0200 ++++ libmagic/ascmagic.c 2018-08-10 11:46:29.210671445 +0200 @@ -90,7 +90,7 @@ rv = file_ascmagic_with_encoding(ms, &bb, ubuf, ulen, code, type, text); @@ -1311,7 +1311,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-08-10 11:51:05.107276763 +0200 ++++ libmagic/buffer.c 2018-08-10 11:46:29.210671445 +0200 @@ -31,7 +31,11 @@ #endif /* lint */ @@ -1362,7 +1362,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-08-10 11:51:05.107276763 +0200 ++++ libmagic/cdf.c 2018-08-10 11:46:29.214671395 +0200 @@ -43,7 +43,17 @@ #include #endif @@ -1620,7 +1620,7 @@ 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-08-10 11:51:05.107276763 +0200 ++++ libmagic/cdf.h 2018-08-10 11:46:29.214671395 +0200 @@ -35,10 +35,10 @@ #ifndef _H_CDF_ #define _H_CDF_ @@ -1646,8 +1646,16 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h 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-08-10 11:51:05.107276763 +0200 -@@ -56,7 +56,7 @@ ++++ libmagic/cdf_time.c 2019-03-08 21:00:46.636733574 +0100 +@@ -23,6 +23,7 @@ + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ ++#include "php.h" + + #include "file.h" + +@@ -56,7 +57,7 @@ for (y = CDF_BASE_YEAR; y < year; y++) days += isleap(y) + 365; @@ -1656,7 +1664,7 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c return days; } -@@ -77,7 +77,7 @@ +@@ -77,7 +78,7 @@ return days; } @@ -1665,9 +1673,27 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c * Return the 0...11 month number. */ static int +@@ -152,7 +153,7 @@ + #endif + #ifdef notyet + struct tm tm; +- if (gmtime_r(&ts->ts_sec, &tm) == NULL) { ++ if (php_gmtime_r(&ts->ts_sec, &tm) == NULL) { + errno = EINVAL; + return -1; + } +@@ -168,7 +169,7 @@ + char * + cdf_ctime(const time_t *sec, char *buf) + { +- char *ptr = ctime_r(sec, buf); ++ char *ptr = php_ctime_r(sec, buf); + if (ptr != NULL) + return buf; + (void)snprintf(buf, 26, "*Bad* %#16.16" INT64_T_FORMAT "x\n", 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-08-10 11:51:05.111276714 +0200 ++++ libmagic/compress.c 2018-08-10 11:46:29.214671395 +0200 @@ -2,7 +2,7 @@ * Copyright (c) Ian F. Darwin 1986-1995. * Software written by Ian F. Darwin and others; @@ -1968,7 +1994,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-08-10 11:51:05.111276714 +0200 ++++ libmagic/der.c 2018-08-10 11:46:29.214671395 +0200 @@ -51,7 +51,9 @@ #include "magic.h" #include "der.h" @@ -2025,7 +2051,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-08-10 11:51:05.111276714 +0200 ++++ libmagic/elfclass.h 2018-08-10 11:46:29.214671395 +0200 @@ -1,7 +1,7 @@ /* * Copyright (c) Christos Zoulas 2008. @@ -2073,7 +2099,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-08-10 11:51:05.111276714 +0200 ++++ libmagic/encoding.c 2018-08-10 11:46:29.214671395 +0200 @@ -88,12 +88,12 @@ *code_mime = "binary"; @@ -2103,7 +2129,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-11-05 21:33:14.919371593 +0100 ++++ libmagic/file.h 2018-11-05 21:31:59.339653700 +0100 @@ -27,21 +27,15 @@ */ /* @@ -2390,7 +2416,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-08-10 11:51:05.111276714 +0200 ++++ libmagic/fsmagic.c 2018-08-10 11:46:29.214671395 +0200 @@ -2,7 +2,7 @@ * Copyright (c) Ian F. Darwin 1986-1995. * Software written by Ian F. Darwin and others; @@ -2751,7 +2777,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-11-05 21:33:14.919371593 +0100 ++++ libmagic/funcs.c 2018-11-05 21:31:59.339653700 +0100 @@ -31,7 +31,6 @@ #endif /* lint */ @@ -3136,7 +3162,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-08-10 11:51:05.111276714 +0200 ++++ libmagic/magic.c 2018-08-10 11:46:29.214671395 +0200 @@ -25,11 +25,6 @@ * SUCH DAMAGE. */ @@ -3612,8 +3638,8 @@ diff -u libmagic.orig/magic.c libmagic/magic.c public const char * 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.824428000 +0200 -+++ libmagic/magic.h 2018-08-10 11:51:05.111276714 +0200 +--- libmagic.orig/magic.h 2018-11-13 21:40:06.272616270 +0100 ++++ libmagic/magic.h 2018-08-10 11:46:29.214671395 +0200 @@ -122,6 +122,7 @@ const char *magic_getpath(const char *, int); @@ -3624,7 +3650,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-08-10 11:51:05.111276714 +0200 ++++ libmagic/print.c 2019-03-08 21:00:46.636733574 +0100 @@ -2,7 +2,7 @@ * Copyright (c) Ian F. Darwin 1986-1995. * Software written by Ian F. Darwin and others; @@ -3643,28 +3669,15 @@ diff -u libmagic.orig/print.c libmagic/print.c * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -@@ -28,6 +28,8 @@ +@@ -28,6 +28,7 @@ /* * print.c - debugging printout routines */ -+#define _GNU_SOURCE +#include "php.h" #include "file.h" -@@ -43,6 +45,11 @@ - #endif - #include - -+#ifdef PHP_WIN32 -+# define asctime_r php_asctime_r -+# define ctime_r php_ctime_r -+#endif -+ - #define SZOF(a) (sizeof(a) / sizeof(a[0])) - - #include "cdf.h" -@@ -75,7 +82,7 @@ +@@ -75,7 +76,7 @@ if (m->mask_op & FILE_OPINVERSE) (void) fputc('~', stderr); @@ -3673,7 +3686,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,26 +222,26 @@ +@@ -215,18 +216,18 @@ file_magwarn(struct magic_set *ms, const char *f, ...) { va_list va; @@ -3701,51 +3714,26 @@ diff -u libmagic.orig/print.c libmagic/print.c } protected const char * - file_fmttime(uint64_t v, int flags, char *buf) - { - char *pp; -- time_t t; -- struct tm *tm, tmz; -+ time_t t = (time_t)v; -+ struct tm *tm = NULL; - - if (flags & FILE_T_WINDOWS) { - struct timespec ts; -@@ -247,9 +254,29 @@ +@@ -247,13 +248,13 @@ } if (flags & FILE_T_LOCAL) { - tm = localtime_r(&t, &tmz); -+ pp = ctime_r(&t, buf); ++ tm = php_localtime_r(&t, &tmz); } else { - tm = gmtime_r(&t, &tmz); -+#ifndef HAVE_DAYLIGHT -+ private int daylight = 0; -+#ifdef HAVE_TM_ISDST -+ private time_t now = (time_t)0; -+ -+ if (now == (time_t)0) { -+ struct tm *tm1; -+ (void)time(&now); -+ tm1 = localtime(&now); -+ if (tm1 == NULL) -+ goto out; -+ daylight = tm1->tm_isdst; -+ } -+#endif /* HAVE_TM_ISDST */ -+#endif /* HAVE_DAYLIGHT */ -+ if (daylight) -+ t += 3600; -+ tm = gmtime(&t); -+ if (tm == NULL) -+ goto out; -+ pp = asctime_r(tm, buf); ++ tm = php_gmtime_r(&t, &tmz); } if (tm == NULL) goto out; +- pp = asctime_r(tm, buf); ++ pp = php_asctime_r(tm, buf); + + if (pp == NULL) + 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-08-10 11:51:05.111276714 +0200 ++++ libmagic/readcdf.c 2018-08-10 11:46:29.214671395 +0200 @@ -31,7 +31,11 @@ #include @@ -3882,7 +3870,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-11-10 12:18:21.864916065 +0100 ++++ libmagic/softmagic.c 2018-11-11 21:42:27.860274508 +0100 @@ -43,6 +43,10 @@ #include #include "der.h" @@ -4241,7 +4229,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-08-10 11:51:05.111276714 +0200 ++++ libmagic/strcasestr.c 2018-08-10 11:46:29.214671395 +0200 @@ -39,6 +39,8 @@ #include "file.h"