diff options
author | Christian Heimes <christian@python.org> | 2022-03-30 19:28:33 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-30 19:28:33 (GMT) |
commit | 581c4434de62d9d36392f10e65866c081fb18d71 (patch) | |
tree | 8c7f01b8826e7f11bbe9a344612bb0187e2e4e8e /Python/importdl.c | |
parent | 795c00b91cbc208969302e9e16a269c2049af3e9 (diff) | |
download | cpython-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.c | 6 |
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) { |