Re: cvs: php4 /ext/sysvmsg sysvmsg.c /ext/sysvmsg/tests 001.phpt

From: Date: Mon, 29 Apr 2002 12:57:08 +0000
Subject: Re: cvs: php4 /ext/sysvmsg sysvmsg.c /ext/sysvmsg/tests 001.phpt
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-83489@lists.php.net to get a copy of this message
Is there a better way of acheiving this? I want the unserialized data to be passed back as an out parameter, but if I pass the actual out_message var to php_var_unserialize I get segfaults or overruns. --Wez. > if (do_unserialize) { > php_unserialize_data_t var_hash; > + zval *tmp = NULL; > const char *p = (const char*)messagebuffer->mtext; > > + MAKE_STD_ZVAL(tmp); > PHP_VAR_UNSERIALIZE_INIT(var_hash); > - if (!php_var_unserialize(&return_value, &p, p + result, &var_hash TSRMLS_CC)) { > + if (!php_var_unserialize(&tmp, &p, p + result, &var_hash TSRMLS_CC)) { > zend_error(E_WARNING, "%s(): message corrupted", > get_active_function_name(TSRMLS_C)); > RETVAL_FALSE; > } > + REPLACE_ZVAL_VALUE(&out_message, tmp, 0); > + FREE_ZVAL(tmp); > PHP_VAR_UNSERIALIZE_DESTROY(var_hash); > } else {

« previous php.dev (#83489) next »