Solved: Stack corruption mysterie

2011-09-10 Thread Joachim Zobel
On Sat, 2011-09-10 at 13:26 +0200, Joachim Zobel wrote: > apr_bucket *end = xml2_make_start_bucket(b); > ap_assert(end == bn->end); > This was caused by a missing function declaration for xml2_make_start_bucket in the calling file. I had overlooked the "implicitely converting poin

Re: Stack corruption mysterie

2011-09-10 Thread Joachim Zobel
Just wanted to add the gdb output from the core dump. 213 ap_assert(end == bn->end); (gdb) p end $1 = (apr_bucket *) 0x914638b8 (gdb) p bn->end $2 = (apr_bucket *) 0x7fa9914638b8

Stack corruption mysterie

2011-09-10 Thread Joachim Zobel
Hi. I have the following simple function. /* * xml2_make_start_bucket */ apr_bucket *xml2_make_start_bucket(apr_bucket * b) { bucket_node *bn = b->data; apr_bucket *end; if (bn->node->type != XML_ELEMENT_NODE && !IS_DOCUMENT_NODE(bn->node)) { return NULL; }