summaryrefslogtreecommitdiffstats
path: root/Python/importdl.c
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2022-03-30 19:28:33 (GMT)
committerGitHub <noreply@github.com>2022-03-30 19:28:33 (GMT)
commit581c4434de62d9d36392f10e65866c081fb18d71 (patch)
tree8c7f01b8826e7f11bbe9a344612bb0187e2e4e8e /Python/importdl.c
parent795c00b91cbc208969302e9e16a269c2049af3e9 (diff)
downloadcpython-581c4434de62d9d36392f10e65866c081fb18d71.zip
cpython-581c4434de62d9d36392f10e65866c081fb18d71.tar.gz
cpython-581c4434de62d9d36392f10e65866c081fb18d71.tar.bz2
bpo-47162: Add call trampoline to mitigate bad fpcasts on Emscripten (GH-32189)
Diffstat (limited to 'Python/importdl.c')
-rw-r--r--Python/importdl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Python/importdl.c b/Python/importdl.c
index f66c601..870ae27 100644
--- a/Python/importdl.c
+++ b/Python/importdl.c
@@ -102,7 +102,7 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp)
const char *oldcontext;
dl_funcptr exportfunc;
PyModuleDef *def;
- PyObject *(*p0)(void);
+ PyModInitFunction p0;
name_unicode = PyObject_GetAttrString(spec, "name");
if (name_unicode == NULL) {
@@ -157,7 +157,7 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp)
goto error;
}
- p0 = (PyObject *(*)(void))exportfunc;
+ p0 = (PyModInitFunction)exportfunc;
/* Package context is needed for single-phase init */
oldcontext = _Py_PackageContext;
@@ -166,7 +166,7 @@ _PyImport_LoadDynamicModuleWithSpec(PyObject *spec, FILE *fp)
_Py_PackageContext = oldcontext;
goto error;
}
- m = p0();
+ m = _PyImport_InitFunc_TrampolineCall(p0);
_Py_PackageContext = oldcontext;
if (m == NULL) {