cvs: php4 /ext/sysvshm sysvshm.c
| From: | Stanislav Malyshev | 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);
}
/* }}} */