98123371d7
v1.14 ffi.dlopen() can now be called with a handle (as a void *) to an already-opened C library. CPython only: fixed a stack overflow issue for calls like lib.myfunc([large list]). If the function is declared as taking a float * argument, for example, then the array is temporarily converted into a C array of floats—however, the code used to use alloca() for this temporary storage, no matter how large. This is now fixed. The fix concerns all modes: in-line/out-of-line API/ABI. Also note that your API-mode C extension modules need to be regenerated with cffi 1.14 in order to get the fix; i.e. for API mode, the fix is in the generated C sources. (The C sources generated from cffi 1.14 should also work when running in a different environment in which we have an older version of cffi. Also, this change makes no difference on PyPy.) As a workaround that works on all versions of cffi, you can write lib.myfunc(ffi.new("float[]", [large list])), which is equivalent but explicity builds the intermediate array as a regular Python object on the heap. fixed a memory leak inside ffi.getwinerror() on CPython 3.x.
8 lines
570 B
Text
8 lines
570 B
Text
$NetBSD: distinfo,v 1.37 2020/03/04 18:27:28 adam Exp $
|
|
|
|
SHA1 (cffi-1.14.0.tar.gz) = 2a8f05a7d51d77ef1e641cb359a54e4d8fa019cb
|
|
RMD160 (cffi-1.14.0.tar.gz) = b1066beff2bfde3a90e2487fea2ab5f4b3186e83
|
|
SHA512 (cffi-1.14.0.tar.gz) = 4c5451eeede1d48a8f4b40e25b845ad1863b8bf3bd39624e6c693c2800d89a13efedc4c43b37e317a035613bffc2e3fd5f7e583c46cb283cb5cb930356f86253
|
|
Size (cffi-1.14.0.tar.gz) = 463065 bytes
|
|
SHA1 (patch-testing_cffi0_test__verify.py) = 91e903aa6aa89f997aba1578cb9452e6ac160f50
|
|
SHA1 (patch-testing_cffi1_test__verify1.py) = 72d564ff8422bc1c8ed8b7058fb95ca669b69529
|