programmer’s nightmare is a coredump in malloc

Yesterday I updated libxml2 and xsltproc from CVS and got a coredump. I am very scared because I can't produce a test case and I think that the problem is on libxml's side.

Fortunately, I found a workaround at least. In the file "xpath.c" find the code fragment:


Change this code to:


Streaming is probably a good idea, but I'd better wait till the core for it is debugged well.

And I ought to write to mailing list and ask to make a switch for the "configure" script. It's not very good to edit code after each CVS update.

6 May 2005, update

I've wrote to the libxml mailing list, and a patch appeared in CVS. Here is what fixed the problem:

$ diff xpath.c xpath.c.r1.288 
< namespaces = xmlMalloc(2 * (ctxt->nsNr + 1) * sizeof(xmlChar*));
> namespaces = xmlMalloc(2 * (ctxt->nsNr + 1));
Categories: Generative XML