@@ -546,6 +546,7 @@ static void php_memc_get_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
546546 size_t key_lens [1 ] = { 0 };
547547 zval * cas_token = NULL ;
548548 zval * udf_flags = NULL ;
549+ uint64_t orig_cas_flag ;
549550 zend_fcall_info fci = empty_fcall_info ;
550551 zend_fcall_info_cache fcc = empty_fcall_info_cache ;
551552 memcached_result_st result ;
@@ -575,7 +576,6 @@ static void php_memc_get_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
575576 keys [0 ] = key -> val ;
576577 key_lens [0 ] = key -> len ;
577578
578- uint64_t orig_cas_flag ;
579579 orig_cas_flag = memcached_behavior_get (m_obj -> memc , MEMCACHED_BEHAVIOR_SUPPORT_CAS );
580580
581581 /*
@@ -612,6 +612,8 @@ static void php_memc_get_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
612612 * ourselves.
613613 */
614614 if (cas_token ) {
615+ ZVAL_DEREF (cas_token );
616+ zval_ptr_dtor (cas_token );
615617 ZVAL_DOUBLE (cas_token , 0.0 );
616618 }
617619
@@ -653,8 +655,7 @@ static void php_memc_get_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool by_key)
653655
654656 if (cas_token ) {
655657 ZVAL_DEREF (cas_token );
656- SEPARATE_ZVAL (cas_token );
657- zval_dtor (cas_token );
658+ zval_ptr_dtor (cas_token );
658659 ZVAL_DOUBLE (cas_token , (double )cas );
659660 }
660661
@@ -2839,7 +2840,7 @@ static void php_memc_free_storage(zend_object *obj)
28392840
28402841zend_object * php_memc_new (zend_class_entry * ce )
28412842{
2842- php_memc_t * i_obj = ecalloc (1 , sizeof (php_memc_t ) + sizeof ( zval ) * ( ce -> default_properties_count - 1 ));
2843+ php_memc_t * i_obj = ecalloc (1 , sizeof (php_memc_t ) + zend_object_properties_size ( ce ));
28432844
28442845 zend_object_std_init (& i_obj -> zo , ce );
28452846 object_properties_init (& i_obj -> zo , ce );
0 commit comments