ext: fix memory leak when reentrant/multithreaded