From e4979782017e2a436c7f5634cb7347a420157ec5 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 15 Jul 2004 22:28:48 +0000 Subject: Fix for 838140: don't call NSUnlinkModule when we fail to find our expected entrypoint. The unlinking will crash the application if the module contained ObjC code. The price of this is small: a little wasted memory, and only in a case than isn't expected to occur often. --- Python/dynload_next.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Python/dynload_next.c b/Python/dynload_next.c index cf42cb7..27df356 100644 --- a/Python/dynload_next.c +++ b/Python/dynload_next.c @@ -92,7 +92,7 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname, #ifdef USE_DYLD_GLOBAL_NAMESPACE if (!NSIsSymbolNameDefined(funcname)) { /* UnlinkModule() isn't implemented in current versions, but calling it does no harm */ - NSUnLinkModule(newModule, FALSE); + /* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */ PyErr_Format(PyExc_ImportError, "Loaded module does not contain symbol %.200s", funcname); @@ -102,7 +102,7 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname, #else theSym = NSLookupSymbolInModule(newModule, funcname); if ( theSym == NULL ) { - NSUnLinkModule(newModule, FALSE); + /* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */ PyErr_Format(PyExc_ImportError, "Loaded module does not contain symbol %.200s", funcname); -- cgit v0.12