--- a/augeas/__init__.py +++ b/augeas/__init__.py @@ -42,7 +42,7 @@ import cffi import types -from augeas.ffi import ffi, lib +from augeas.ffi import ffi, lib, c89 PY3 = _pyver >= (3,) AUGENC = 'utf8' @@ -421,8 +421,8 @@ # Create a python string and append it to our matches list item = ffi.string(array[i]) matches.append(dec(item)) - lib.free(array[i]) - lib.free(array) + c89.free(array[i]) + c89.free(array) return matches def span(self, path): --- a/augeas/ffi.py +++ b/augeas/ffi.py @@ -40,6 +40,7 @@ """) lib = ffi.dlopen("augeas") +c89 = ffi.dlopen(None) if __name__ == "__main__": ffi.compile(verbose=True)