> On 7 Jun 2020, at 14:23, Miki Tebeka <miki.teb...@gmail.com> wrote: > > Hi, > > Does ctypes, when using restype, frees allocated memory? > > For example, will the memory allocated by "strdup" be freed after the "del" > statement? If not, how can I free it?
See https://linux.die.net/man/3/strdup that tells you to use free() to delete memory allocated by strdup. You must remember the result of strdup and free it at an appropriate time. Barry > > --- > import ctypes > > libc = ctypes.cdll.LoadLibrary('libc.so.6') > strdup = libc.strdup > strdup.argtypes = [ctypes.c_char_p] > strdup.restype = ctypes.c_char_p > > out = strdup(b'hello').decode('utf-8') > print(out) # hello > del out > --- > > Thanks, > Miki > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list