mirror of
https://github.com/php/php-src.git
synced 2026-04-29 11:13:36 +02:00
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2: Fix GH-13344: finfo::buffer(): Failed identify data 0:(null)
This commit is contained in:
@@ -9,6 +9,10 @@ PHP NEWS
|
||||
. Fix unlikely memory leak in case of namespace removal with extremely deep
|
||||
trees. (nielsdos)
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug GH-13344 (finfo::buffer(): Failed identify data 0:(null),
|
||||
backport). (nielsdos)
|
||||
|
||||
- FPM:
|
||||
. Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER).
|
||||
(Jakub Zelenka)
|
||||
|
||||
+30
-21
@@ -1,6 +1,6 @@
|
||||
diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
|
||||
--- libmagic.orig/apprentice.c 2022-09-13 20:46:07.000000000 +0200
|
||||
+++ libmagic/apprentice.c 2022-10-02 20:39:14.879183555 +0200
|
||||
+++ libmagic/apprentice.c 2023-10-25 17:56:17.066628832 +0200
|
||||
@@ -48,7 +48,9 @@
|
||||
#ifdef QUICK
|
||||
#include <sys/mman.h>
|
||||
@@ -864,7 +864,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
|
||||
break;
|
||||
diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
|
||||
--- libmagic.orig/ascmagic.c 2022-09-13 20:40:30.000000000 +0200
|
||||
+++ libmagic/ascmagic.c 2022-10-02 15:56:16.390142333 +0200
|
||||
+++ libmagic/ascmagic.c 2024-02-13 21:14:11.091069093 +0100
|
||||
@@ -96,7 +96,7 @@
|
||||
rv = file_ascmagic_with_encoding(ms, &bb,
|
||||
ubuf, ulen, code, type, text);
|
||||
@@ -874,7 +874,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
|
||||
|
||||
return rv;
|
||||
}
|
||||
@@ -143,7 +143,7 @@
|
||||
@@ -143,13 +143,15 @@
|
||||
/* malloc size is a conservative overestimate; could be
|
||||
improved, or at least realloced after conversion. */
|
||||
mlen = ulen * 6;
|
||||
@@ -883,7 +883,16 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
|
||||
file_oomem(ms, mlen);
|
||||
goto done;
|
||||
}
|
||||
@@ -273,8 +273,8 @@
|
||||
if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen))
|
||||
- == NULL)
|
||||
+ == NULL) {
|
||||
+ rv = 0;
|
||||
goto done;
|
||||
+ }
|
||||
buffer_init(&bb, b->fd, &b->st, utf8_buf,
|
||||
CAST(size_t, utf8_end - utf8_buf));
|
||||
|
||||
@@ -273,8 +275,8 @@
|
||||
goto done;
|
||||
|
||||
if (has_long_lines)
|
||||
@@ -894,7 +903,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
|
||||
goto done;
|
||||
|
||||
/*
|
||||
@@ -330,7 +330,8 @@
|
||||
@@ -330,7 +332,8 @@
|
||||
}
|
||||
rv = 1;
|
||||
done:
|
||||
@@ -906,7 +915,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
|
||||
}
|
||||
diff -u libmagic.orig/buffer.c libmagic/buffer.c
|
||||
--- libmagic.orig/buffer.c 2022-09-13 20:34:20.000000000 +0200
|
||||
+++ libmagic/buffer.c 2022-10-02 15:56:16.390142333 +0200
|
||||
+++ libmagic/buffer.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -31,19 +31,21 @@
|
||||
#endif /* lint */
|
||||
|
||||
@@ -960,7 +969,7 @@ diff -u libmagic.orig/buffer.c libmagic/buffer.c
|
||||
}
|
||||
diff -u libmagic.orig/cdf.c libmagic/cdf.c
|
||||
--- libmagic.orig/cdf.c 2022-09-13 20:34:25.000000000 +0200
|
||||
+++ libmagic/cdf.c 2022-10-02 15:56:16.390142333 +0200
|
||||
+++ libmagic/cdf.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -43,7 +43,9 @@
|
||||
#include <err.h>
|
||||
#endif
|
||||
@@ -1191,7 +1200,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c
|
||||
#endif
|
||||
diff -u libmagic.orig/cdf.h libmagic/cdf.h
|
||||
--- libmagic.orig/cdf.h 2022-09-13 20:34:29.000000000 +0200
|
||||
+++ libmagic/cdf.h 2022-10-02 15:56:16.390142333 +0200
|
||||
+++ libmagic/cdf.h 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -37,8 +37,6 @@
|
||||
|
||||
#ifdef WIN32
|
||||
@@ -1203,7 +1212,7 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h
|
||||
#define timespec timeval
|
||||
diff -u libmagic.orig/compress.c libmagic/compress.c
|
||||
--- libmagic.orig/compress.c 2022-09-13 20:34:42.000000000 +0200
|
||||
+++ libmagic/compress.c 2022-10-02 15:56:16.390142333 +0200
|
||||
+++ libmagic/compress.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -63,13 +63,14 @@
|
||||
#if defined(HAVE_SYS_TIME_H)
|
||||
#include <sys/time.h>
|
||||
@@ -1312,7 +1321,7 @@ diff -u libmagic.orig/compress.c libmagic/compress.c
|
||||
+#endif
|
||||
diff -u libmagic.orig/der.c libmagic/der.c
|
||||
--- libmagic.orig/der.c 2022-09-13 20:34:54.000000000 +0200
|
||||
+++ libmagic/der.c 2022-10-02 15:56:16.390142333 +0200
|
||||
+++ libmagic/der.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -54,7 +54,9 @@
|
||||
#include "magic.h"
|
||||
#include "der.h"
|
||||
@@ -1325,7 +1334,7 @@ diff -u libmagic.orig/der.c libmagic/der.c
|
||||
#endif
|
||||
diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
|
||||
--- libmagic.orig/elfclass.h 2022-09-13 20:35:11.000000000 +0200
|
||||
+++ libmagic/elfclass.h 2022-10-02 03:02:46.697523453 +0200
|
||||
+++ libmagic/elfclass.h 2023-08-30 22:16:33.784980199 +0200
|
||||
@@ -41,7 +41,7 @@
|
||||
return toomany(ms, "program headers", phnum);
|
||||
flags |= FLAGS_IS_CORE;
|
||||
@@ -1355,7 +1364,7 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
|
||||
CAST(int, elf_getu16(swap, elfhdr.e_shstrndx)),
|
||||
diff -u libmagic.orig/encoding.c libmagic/encoding.c
|
||||
--- libmagic.orig/encoding.c 2022-09-13 20:46:07.000000000 +0200
|
||||
+++ libmagic/encoding.c 2022-10-02 15:56:16.394142341 +0200
|
||||
+++ libmagic/encoding.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -97,7 +97,7 @@
|
||||
nbytes = ms->encoding_max;
|
||||
|
||||
@@ -1391,7 +1400,7 @@ diff -u libmagic.orig/encoding.c libmagic/encoding.c
|
||||
}
|
||||
diff -u libmagic.orig/file.h libmagic/file.h
|
||||
--- libmagic.orig/file.h 2022-09-13 20:35:30.000000000 +0200
|
||||
+++ libmagic/file.h 2022-10-02 15:56:16.394142341 +0200
|
||||
+++ libmagic/file.h 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -33,9 +33,7 @@
|
||||
#ifndef __file_h__
|
||||
#define __file_h__
|
||||
@@ -1570,7 +1579,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
|
||||
#define QUICK
|
||||
diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
|
||||
--- libmagic.orig/fsmagic.c 2022-09-13 20:36:53.000000000 +0200
|
||||
+++ libmagic/fsmagic.c 2022-10-02 15:56:16.394142341 +0200
|
||||
+++ libmagic/fsmagic.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -66,26 +66,10 @@
|
||||
# define minor(dev) ((dev) & 0xff)
|
||||
#endif
|
||||
@@ -1863,7 +1872,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 2022-09-13 20:46:07.000000000 +0200
|
||||
+++ libmagic/funcs.c 2022-10-02 15:56:16.394142341 +0200
|
||||
+++ libmagic/funcs.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -66,7 +66,7 @@
|
||||
private void
|
||||
file_clearbuf(struct magic_set *ms)
|
||||
@@ -2167,7 +2176,7 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
|
||||
file_clear_closexec(int fd) {
|
||||
diff -u libmagic.orig/magic.c libmagic/magic.c
|
||||
--- libmagic.orig/magic.c 2022-09-13 20:37:57.000000000 +0200
|
||||
+++ libmagic/magic.c 2022-10-02 15:56:16.394142341 +0200
|
||||
+++ libmagic/magic.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -25,11 +25,6 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
@@ -2640,8 +2649,8 @@ diff -u libmagic.orig/magic.c libmagic/magic.c
|
||||
}
|
||||
return file_getbuffer(ms);
|
||||
diff -u libmagic.orig/magic.h libmagic/magic.h
|
||||
--- libmagic.orig/magic.h 2022-10-02 20:59:55.617810794 +0200
|
||||
+++ libmagic/magic.h 2022-10-02 15:56:16.394142341 +0200
|
||||
--- libmagic.orig/magic.h 2024-02-13 21:14:59.340250330 +0100
|
||||
+++ libmagic/magic.h 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -126,6 +126,7 @@
|
||||
|
||||
const char *magic_getpath(const char *, int);
|
||||
@@ -2652,7 +2661,7 @@ diff -u libmagic.orig/magic.h libmagic/magic.h
|
||||
|
||||
diff -u libmagic.orig/print.c libmagic/print.c
|
||||
--- libmagic.orig/print.c 2022-09-13 20:38:34.000000000 +0200
|
||||
+++ libmagic/print.c 2022-10-02 15:56:16.394142341 +0200
|
||||
+++ libmagic/print.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -73,7 +73,7 @@
|
||||
if (m->mask_op & FILE_OPINVERSE)
|
||||
(void) fputc('~', stderr);
|
||||
@@ -2709,7 +2718,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 2022-09-13 20:38:40.000000000 +0200
|
||||
+++ libmagic/readcdf.c 2022-10-02 15:56:16.394142341 +0200
|
||||
+++ libmagic/readcdf.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
#include <assert.h>
|
||||
@@ -2829,7 +2838,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
|
||||
if (i != -1)
|
||||
diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
|
||||
--- libmagic.orig/softmagic.c 2022-09-13 20:46:07.000000000 +0200
|
||||
+++ libmagic/softmagic.c 2022-10-02 20:58:58.073503436 +0200
|
||||
+++ libmagic/softmagic.c 2023-10-25 17:56:17.069962152 +0200
|
||||
@@ -43,7 +43,7 @@
|
||||
#include <time.h>
|
||||
#include "der.h"
|
||||
|
||||
@@ -148,8 +148,10 @@ file_ascmagic_with_encoding(struct magic_set *ms, const struct buffer *b,
|
||||
goto done;
|
||||
}
|
||||
if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen))
|
||||
== NULL)
|
||||
== NULL) {
|
||||
rv = 0;
|
||||
goto done;
|
||||
}
|
||||
buffer_init(&bb, b->fd, &b->st, utf8_buf,
|
||||
CAST(size_t, utf8_end - utf8_buf));
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
--TEST--
|
||||
GH-13344 (finfo::buffer(): Failed identify data 0:(null))
|
||||
--EXTENSIONS--
|
||||
fileinfo
|
||||
--FILE--
|
||||
<?php
|
||||
$data = pack('H*','fffe000000099999');
|
||||
$mime_type = (new finfo(FILEINFO_MIME))->buffer($data);
|
||||
echo $mime_type;
|
||||
?>
|
||||
--EXPECT--
|
||||
application/octet-stream; charset=utf-32le
|
||||
Reference in New Issue
Block a user