@@ -316,8 +316,8 @@ static zend_always_inline zend_string *zend_string_safe_realloc(zend_string *s,
316316 return ret ;
317317}
318318
319- static zend_always_inline char * zend_str_append_char_to_raw (const char * str , size_t len , char c ) {
320- char * res = (char * )emalloc (len + 2 );
319+ static zend_always_inline char * zend_string_append_char_to_raw (const char * str , size_t len , char c ) {
320+ char * res = (char * )safe_emalloc (len , 1 , 2 );
321321 if (len > 0 ) {
322322 memcpy (res , str , len );
323323 }
@@ -326,8 +326,8 @@ static zend_always_inline char *zend_str_append_char_to_raw(const char *str, siz
326326 return res ;
327327}
328328
329- static zend_always_inline char * zend_str_concat_to_raw (const char * s1 , size_t len1 , const char * s2 , size_t len2 ) {
330- char * res = (char * )emalloc (len1 + len2 + 1 );
329+ static zend_always_inline char * zend_string_concat_to_raw (const char * s1 , size_t len1 , const char * s2 , size_t len2 ) {
330+ char * res = (char * )safe_emalloc (len1 , 1 , len2 + 1 );
331331 if (len1 > 0 ) {
332332 memcpy (res , s1 , len1 );
333333 }
@@ -338,9 +338,8 @@ static zend_always_inline char *zend_str_concat_to_raw(const char *s1, size_t le
338338 return res ;
339339}
340340
341- static zend_always_inline char * zend_str_concat3_to_raw (const char * s1 , size_t len1 , const char * s2 , size_t len2 , const char * s3 , size_t len3 ) {
342- size_t total_len = len1 + len2 + len3 ;
343- char * res = (char * )emalloc (total_len + 1 );
341+ static zend_always_inline char * zend_string_concat3_to_raw (const char * s1 , size_t len1 , const char * s2 , size_t len2 , const char * s3 , size_t len3 ) {
342+ char * res = (char * )safe_emalloc (len1 , 1 , len2 + len3 + 1 );
344343 if (len1 > 0 ) {
345344 memcpy (res , s1 , len1 );
346345 }
@@ -350,7 +349,7 @@ static zend_always_inline char *zend_str_concat3_to_raw(const char *s1, size_t l
350349 if (len3 > 0 ) {
351350 memcpy (res + len1 + len2 , s3 , len3 );
352351 }
353- res [total_len ] = '\0' ;
352+ res [len1 + len2 + len3 ] = '\0' ;
354353 return res ;
355354}
356355
0 commit comments