mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Temporary fixed the invalid read warning
This commit is contained in:
parent
6c8db864e0
commit
b7ff8f28b2
1 changed files with 5 additions and 5 deletions
|
@ -57,7 +57,7 @@ END_EXTERN_C()
|
|||
#define _STR_HEADER_SIZE XtOffsetOf(zend_string, val)
|
||||
|
||||
#define STR_ALLOCA_ALLOC(str, _len, use_heap) do { \
|
||||
(str) = (zend_string *)do_alloca(_STR_HEADER_SIZE + (_len) + 1, (use_heap)); \
|
||||
(str) = (zend_string *)do_alloca(ZEND_MM_ALIGNED_SIZE(_STR_HEADER_SIZE + (_len) + 1), (use_heap)); \
|
||||
GC_REFCOUNT(str) = 1; \
|
||||
(str)->h = 0; \
|
||||
(str)->len = (_len); \
|
||||
|
@ -109,7 +109,7 @@ static zend_always_inline zend_uint zend_str_delref(zend_string *s)
|
|||
|
||||
static zend_always_inline zend_string *zend_str_alloc(int len, int persistent)
|
||||
{
|
||||
zend_string *ret = (zend_string *)pemalloc(_STR_HEADER_SIZE + len + 1, persistent);
|
||||
zend_string *ret = (zend_string *)pemalloc(ZEND_MM_ALIGNED_SIZE(_STR_HEADER_SIZE + len + 1), persistent);
|
||||
|
||||
GC_REFCOUNT(ret) = 1;
|
||||
#if 1
|
||||
|
@ -127,7 +127,7 @@ static zend_always_inline zend_string *zend_str_alloc(int len, int persistent)
|
|||
|
||||
static zend_always_inline zend_string *zend_str_safe_alloc(size_t n, size_t m, size_t l, int persistent)
|
||||
{
|
||||
zend_string *ret = (zend_string *)safe_pemalloc(n, m, _STR_HEADER_SIZE + l + 1, persistent);
|
||||
zend_string *ret = (zend_string *)safe_pemalloc(n, m, ZEND_MM_ALIGNED_SIZE(_STR_HEADER_SIZE + l + 1), persistent);
|
||||
|
||||
GC_REFCOUNT(ret) = 1;
|
||||
#if 1
|
||||
|
@ -177,7 +177,7 @@ static zend_always_inline zend_string *zend_str_realloc(zend_string *s, int len,
|
|||
ret = STR_ALLOC(len, persistent);
|
||||
memcpy(ret->val, s->val, (len > s->len ? s->len : len) + 1);
|
||||
} else if (EXPECTED(STR_REFCOUNT(s) == 1)) {
|
||||
ret = (zend_string *)perealloc(s, _STR_HEADER_SIZE + len + 1, persistent);
|
||||
ret = (zend_string *)perealloc(s, ZEND_MM_ALIGNED_SIZE(_STR_HEADER_SIZE + len + 1), persistent);
|
||||
ret->len = len;
|
||||
STR_FORGET_HASH_VAL(ret);
|
||||
} else {
|
||||
|
@ -196,7 +196,7 @@ static zend_always_inline zend_string *zend_str_safe_realloc(zend_string *s, siz
|
|||
ret = STR_SAFE_ALLOC(n, m, l, persistent);
|
||||
memcpy(ret->val, s->val, ((n * m) + l > s->len ? s->len : ((n * m) + l)) + 1);
|
||||
} else if (STR_REFCOUNT(s) == 1) {
|
||||
ret = (zend_string *)safe_perealloc(s, n, m, _STR_HEADER_SIZE + l + 1, persistent);
|
||||
ret = (zend_string *)safe_perealloc(s, n, m, ZEND_MM_ALIGNED_SIZE(_STR_HEADER_SIZE + l + 1), persistent);
|
||||
ret->len = (n * m) + l;
|
||||
STR_FORGET_HASH_VAL(ret);
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue