File tree 2 files changed +11
-2
lines changed 2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -5,11 +5,13 @@ PHP NEWS
5
5
- Core:
6
6
. Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
7
7
(Fabrice Fontaine)
8
-
9
- - Core:
10
8
. Fixed bug GH-13772 (Invalid execute_data->opline pointers in observer fcall
11
9
handlers when JIT is enabled). (Bob)
12
10
11
+ - Fibers:
12
+ . Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
13
+ (nielsdos)
14
+
13
15
- FPM:
14
16
. Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
15
17
(Jakub Zelenka)
Original file line number Diff line number Diff line change 62
62
#endif
63
63
64
64
#ifdef __SANITIZE_ADDRESS__
65
+ # include <sanitizer/asan_interface.h>
65
66
# include <sanitizer/common_interface_defs.h>
66
67
#endif
67
68
@@ -300,6 +301,12 @@ static void zend_fiber_stack_free(zend_fiber_stack *stack)
300
301
301
302
void * pointer = (void * ) ((uintptr_t ) stack -> pointer - ZEND_FIBER_GUARD_PAGES * page_size );
302
303
304
+ #ifdef __SANITIZE_ADDRESS__
305
+ /* If another mmap happens after unmapping, it may trigger the stale stack red zones
306
+ * so we have to unpoison it before unmapping. */
307
+ ASAN_UNPOISON_MEMORY_REGION (pointer , stack -> size + ZEND_FIBER_GUARD_PAGES * page_size );
308
+ #endif
309
+
303
310
#ifdef ZEND_WIN32
304
311
VirtualFree (pointer , 0 , MEM_RELEASE );
305
312
#else
You can’t perform that action at this time.
0 commit comments