Fix memory leak
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index d710a73..000f6a2 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -4304,8 +4304,9 @@
 	n = readlink(path, buf, (int) sizeof buf);
 	Py_END_ALLOW_THREADS
 	if (n < 0)
-		return posix_error_with_filename(path);
+		return posix_error_with_allocated_filename(path);
 
+	PyMem_Free(path);
 	v = PyString_FromStringAndSize(buf, n);
 	if (arg_is_unicode) {
 		PyObject *w;