cvs: php4 /ext/sysvshm sysvshm.c

From: Date: Mon, 30 Oct 2000 17:18:40 +0000
Subject: cvs: php4 /ext/sysvshm sysvshm.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-2360@lists.php.net to get a copy of this message
stas Mon Oct 30 09:18:40 2000 EDT Modified files: /php4/ext/sysvshm sysvshm.c Log: Update to use reference-serializer too Index: php4/ext/sysvshm/sysvshm.c diff -u php4/ext/sysvshm/sysvshm.c:1.33 php4/ext/sysvshm/sysvshm.c:1.34 --- php4/ext/sysvshm/sysvshm.c:1.33 Mon Oct 30 09:10:06 2000 +++ php4/ext/sysvshm/sysvshm.c Mon Oct 30 09:18:39 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sysvshm.c,v 1.33 2000/10/30 17:10:06 stas Exp $ */ +/* $Id: sysvshm.c,v 1.34 2000/10/30 17:18:39 stas Exp $ */ /* This has been built and tested on Solaris 2.6. * It may not compile or execute correctly on other systems. @@ -212,6 +212,7 @@ 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; @@ -233,7 +234,9 @@ 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); @@ -260,6 +263,7 @@ 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; @@ -287,10 +291,13 @@ 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); } /* }}} */

« previous php.cvs (#2360) next »