int type;
pval shm_var;
int ret;
+ php_serialize_data_t var_hash;
if(ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg_id, &arg_key,&arg_var) == FAILURE) {
WRONG_PARAM_COUNT;
shm_var.type=IS_STRING;
shm_var.value.str.len=0;
shm_var.value.str.val=0;
- php_var_serialize(&shm_var,arg_var,NULL);
+ PHP_VAR_SERIALIZE_INIT(var_hash);
+ php_var_serialize(&shm_var,arg_var,&var_hash);
+ PHP_VAR_SERIALIZE_DESTROY(var_hash);
/* insert serialized variable into shared memory */
ret=php_put_shm_data(shm_list_ptr->ptr,key,shm_var.value.str.val,shm_var.value.str.len);
char *shm_data;
long shm_varpos;
sysvshm_chunk *shm_var;
+ php_serialize_data_t var_hash;
if(ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg_id, &arg_key) == FAILURE) {
WRONG_PARAM_COUNT;
shm_var=(sysvshm_chunk*)((char*)shm_list_ptr->ptr+shm_varpos);
shm_data=&shm_var->mem;
- if(php_var_unserialize(&return_value, (const char **) &shm_data, shm_data+shm_var->length)!=1) {
+ PHP_VAR_UNSERIALIZE_INIT(var_hash);
+ if(php_var_unserialize(&return_value, (const char **) &shm_data, shm_data+shm_var->length,&var_hash)!=1) {
+ PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
php_error(E_WARNING, "variable data in shared memory is corruped");
RETURN_FALSE;
}
+ PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
}
/* }}} */