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 { -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php