mirror of
https://github.com/php/php-src.git
synced 2025-08-20 17:34:35 +02:00
Fix #80002: calc free space for new interned string is wrong
We need to calculate the free size in bytes. Patch contributed by t-matsuno. Closes GH-6024
This commit is contained in:
parent
b2a33ab06b
commit
fcd26ffcc3
2 changed files with 5 additions and 1 deletions
4
NEWS
4
NEWS
|
@ -6,6 +6,10 @@ PHP NEWS
|
||||||
. Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing).
|
. Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing).
|
||||||
(Andy Postnikov)
|
(Andy Postnikov)
|
||||||
|
|
||||||
|
- OPcache:
|
||||||
|
. Fixed bug #80002 (calc free space for new interned string is wrong).
|
||||||
|
(t-matsuno)
|
||||||
|
|
||||||
03 Sep 2020, PHP 7.3.22
|
03 Sep 2020, PHP 7.3.22
|
||||||
|
|
||||||
- Core:
|
- Core:
|
||||||
|
|
|
@ -487,7 +487,7 @@ zend_string* ZEND_FASTCALL accel_new_interned_string(zend_string *str)
|
||||||
} while (pos != STRTAB_INVALID_POS);
|
} while (pos != STRTAB_INVALID_POS);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UNEXPECTED(ZCSG(interned_strings).end - ZCSG(interned_strings).top < STRTAB_STR_SIZE(str))) {
|
if (UNEXPECTED((char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).top < STRTAB_STR_SIZE(str))) {
|
||||||
/* no memory, return the same non-interned string */
|
/* no memory, return the same non-interned string */
|
||||||
zend_accel_error(ACCEL_LOG_WARNING, "Interned string buffer overflow");
|
zend_accel_error(ACCEL_LOG_WARNING, "Interned string buffer overflow");
|
||||||
return str;
|
return str;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue