mirror of
https://github.com/php/php-src.git
synced 2026-04-28 18:53:33 +02:00
Merge branch 'PHP-7.4'
* PHP-7.4: Fixed memory leaks
This commit is contained in:
+10
-4
@@ -6533,7 +6533,7 @@ void zend_ffi_expr_mod(zend_ffi_val *val, zend_ffi_val *op2) /* {{{ */
|
||||
void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
|
||||
{
|
||||
zend_ffi_finalize_type(dcl);
|
||||
switch (dcl->type->kind) {
|
||||
switch (ZEND_FFI_TYPE(dcl->type)->kind) {
|
||||
case ZEND_FFI_TYPE_FLOAT:
|
||||
if (val->kind == ZEND_FFI_VAL_UINT32 || val->kind == ZEND_FFI_VAL_UINT64) {
|
||||
val->kind = ZEND_FFI_VAL_FLOAT;
|
||||
@@ -6660,6 +6660,7 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
|
||||
val->kind = ZEND_FFI_VAL_ERROR;
|
||||
break;
|
||||
}
|
||||
zend_ffi_type_dtor(dcl->type);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
@@ -6754,9 +6755,13 @@ void zend_ffi_expr_sizeof_val(zend_ffi_val *val) /* {{{ */
|
||||
|
||||
void zend_ffi_expr_sizeof_type(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
|
||||
{
|
||||
zend_ffi_type *type;
|
||||
|
||||
zend_ffi_finalize_type(dcl);
|
||||
val->kind = (dcl->type->size > 0xffffffff) ? ZEND_FFI_VAL_UINT64 : ZEND_FFI_VAL_UINT32;
|
||||
val->u64 = dcl->type->size;
|
||||
type = ZEND_FFI_TYPE(dcl->type);
|
||||
val->kind = (type->size > 0xffffffff) ? ZEND_FFI_VAL_UINT64 : ZEND_FFI_VAL_UINT32;
|
||||
val->u64 = type->size;
|
||||
zend_ffi_type_dtor(dcl->type);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
@@ -6795,7 +6800,8 @@ void zend_ffi_expr_alignof_type(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
|
||||
{
|
||||
zend_ffi_finalize_type(dcl);
|
||||
val->kind = ZEND_FFI_VAL_UINT32;
|
||||
val->u64 = dcl->type->align;
|
||||
val->u64 = ZEND_FFI_TYPE(dcl->type)->align;
|
||||
zend_ffi_type_dtor(dcl->type);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user