diff options
author | David King <dking@redhat.com> | 2016-03-04 14:19:29 +0000 |
---|---|---|
committer | David King <amigadave@amigadave.com> | 2016-03-04 15:09:53 +0000 |
commit | 76b89df0efc0fe817d320b7b34b2b0530ffd5538 (patch) | |
tree | 4db11024e571fc667059a7d7b8c95e6ac914c2f1 | |
parent | e6881f27792b7c90a983157757e4dabc4bdd1f54 (diff) | |
download | libproxy-git-76b89df0efc0fe817d320b7b34b2b0530ffd5538.tar.gz |
python: Avoid a crash on 64-bit systems
Annotate the return type of px_proxy_factory_new() to be void *, as otherwise
int is assumed. This works fine on 32-bit systems, where void * and int are the
same width, but is invalid on 64-bit (Linux) systems.
Additionally, annotate the argument type of free() and px_proxy_factory_free()
to be void * to match.
https://code.google.com/archive/p/libproxy/issues/146
-rw-r--r-- | bindings/python/libproxy.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bindings/python/libproxy.py b/bindings/python/libproxy.py index cb75a4d..7bddba9 100644 --- a/bindings/python/libproxy.py +++ b/bindings/python/libproxy.py @@ -40,8 +40,12 @@ if platform.system() == "Windows": else: _libc = _load("c", 6) +_libc.free.argtypes = ctypes.c_void_p, + # Load libproxy _libproxy = _load("proxy", 1) +_libproxy.px_proxy_factory_new.restype = ctypes.POINTER(ctypes.c_void_p) +_libproxy.px_proxy_factory_free.argtypes = ctypes.c_void_p, _libproxy.px_proxy_factory_get_proxies.restype = ctypes.POINTER(ctypes.c_void_p) class ProxyFactory(object): |