diff --git a/security/tomoyo/memory.c b/security/tomoyo/memory.c
index 297612669c74d244051662d8e1d4bd96d3040a11..42a7b1ba8cbf221ceeaa188c2089fa2a99e01a94 100644
--- a/security/tomoyo/memory.c
+++ b/security/tomoyo/memory.c
@@ -75,6 +75,7 @@ void *tomoyo_commit_ok(void *data, const unsigned int size)
 		memset(data, 0, size);
 		return ptr;
 	}
+	kfree(ptr);
 	return NULL;
 }