After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 305662 - Function libxslt_xsltPythonCleanup doesn't set variables libxslt_extModule... to NULL
Function libxslt_xsltPythonCleanup doesn't set variables libxslt_extModule......
Status: RESOLVED INCOMPLETE
Product: libxslt
Classification: Platform
Component: general
1.1.14
Other All
: Normal normal
: ---
Assigned To: Daniel Veillard
libxml QA maintainers
Depends on:
Blocks:
 
 
Reported: 2005-05-27 14:16 UTC by Emmanuel Raviart
Modified: 2011-01-27 05:26 UTC
See Also:
GNOME target: ---
GNOME version: 2.7/2.8



Description Emmanuel Raviart 2005-05-27 14:16:06 UTC
Please describe the problem:
libxslt_xsltPythonCleanup calls several xmlHashFree() but doesn't clear the hash
table pointers thereafter.
So a Python call to libxslt.pythonCleanup() followed by a
libxslt.registerExtModuleFunction(...) generates a segfault.

Steps to reproduce:
1. libxslt.registerExtModuleFunction(...)
2. libxslt.pythonCleanup()
3. libxslt.registerExtModuleFunction(...)

Actual results:
segfault

Expected results:


Does this happen every time?
yes

Other information:
diff -Naur libxslt-1.1.12-old/python/libxslt.c libxslt-1.1.12/python/libxslt.c
--- libxslt-1.1.12-old/python/libxslt.c 2004-07-02 15:49:07.000000000 +0200
+++ libxslt-1.1.12/python/libxslt.c     2005-05-27 15:54:00.055235480 +0200
@@ -845,15 +845,19 @@

     if (libxslt_extModuleFunctions != NULL) {
        xmlHashFree(libxslt_extModuleFunctions, deallocateCallback);
+       libxslt_extModuleFunctions = NULL;
     }
     if (libxslt_extModuleElements != NULL) {
        xmlHashFree(libxslt_extModuleElements, deallocateCallback);
+       libxslt_extModuleElements = NULL;
     }
     if (libxslt_extModuleElementPreComp != NULL) {
        xmlHashFree(libxslt_extModuleElementPreComp, deallocateCallback);
+       libxslt_extModuleElementPreComp = NULL;
     }
     if (libxslt_extModuleClasses != NULL) {
        xmlHashFree(libxslt_extModuleClasses, deallocateClasse);
+       libxslt_extModuleClasses = NULL;
     }
     xsltCleanupGlobals();
     Py_INCREF(Py_None);
p
Comment 1 Fabio Durán Verdugo 2010-12-13 03:23:02 UTC
this is a patch?
can you does reproduce this bug?
Comment 2 Fabio Durán Verdugo 2011-01-27 05:26:11 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!