On Mon, Apr 07, 2008 at 08:42:48PM +0530, ashwin sinha wrote: > Hi, > This is with reference to the xmlGetGlobalState function. If this function > returns NULL due to a failure in xmlNewGlobalState function, then it will > lead to a crash in functions like __xmlBufferAllocScheme on the line > return (&xmlGetGlobalState()->xmlBufferAllocScheme); > > There are a number of functions like this in globals.c and all of them > will have the same problem. > At first i thought having a check for the return value of > xmlGetGlobalState function would take care of the problem, but it will not, > because if we return NULL from there the macros defined in globals.h would > try to de-reference NULL pointers. > > So I am thinking we need to return a function pointer to a dummy > function(in case xmlGetGlobalState fails) which will always return NULL in > order to solve the problem. Is this the correct way to go about it, or is > there a better way?
maybe give a pointer to a dummy static data structure instead. But any error in the thread code will be had to handle correctly, The best is to avoid global varaibles altogether... Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ [EMAIL PROTECTED] | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml
