[gdome]cvs version segfault: unconnected Dtd node



Creating an unconnected DocumentType node conflicts with the new memory
management. Test program:

#include <gdome.h>
int main()
{
    GdomeDOMImplementation *di    = gdome_di_mkref();
    GdomeException         exc    = 0;
    GdomeDOMString *qualifiedName =
        gdome_str_mkref("qualifiedName");
    GdomeDOMString *publicId      =
        gdome_str_mkref("publicId");
    GdomeDOMString *systemId      =
        gdome_str_mkref("systemId");
    GdomeDocumentType      *dt    =
        gdome_di_createDocumentType(di,
                                    qualifiedName, publicId, systemId,
                                    &exc);
    return 0;
}

This dereferences the NULL pointer in gdome_treegc_addRef since the new
DocumentType node is not associated with any document.

It seems the call to gdome_treegc_addRef has to be delayed until a call to
gdome_di_createDocument uses this DocumentType node.

Bye, Tobias.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]