On Tue, 2010-02-16 at 12:01 +0100, Nikola Pajkovsky wrote:
My opinion is that it is caused by
xmlrpc_DECREF(NULL). It should be fixed in my local git repository and
it will be in a new version(1.0.8). If you want to I will send you a patch.
It's quite shocking that xmlrpc-c indeed does not follow the
"free(NULL) is safe" tradition. Their source code is:
xmlrpc_DECREF (xmlrpc_value * const valueP) {
XMLRPC_ASSERT_VALUE_OK(valueP);
XMLRPC_ASSERT(valueP->_refcount > 0);
XMLRPC_ASSERT(valueP->_type != XMLRPC_TYPE_DEAD);
valueP->_refcount--;
/* If we have no more refs, we need to deallocate this value. */
if (valueP->_refcount == 0)
destroyValue(valueP);
}
NULL valueP is not safe. 8(
--
vda