summaryrefslogtreecommitdiff
path: root/src/stdlib/free.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdlib/free.c')
-rw-r--r--src/stdlib/free.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/stdlib/free.c b/src/stdlib/free.c
new file mode 100644
index 00000000..55a98a2f
--- /dev/null
+++ b/src/stdlib/free.c
@@ -0,0 +1,22 @@
+#include <stdlib.h>
+
+/** deallocate memory **/
+
+void free(void * ptr)
+{
+ if (ptr == NULL) {
+ return;
+ }
+
+ realloc(ptr, 0);
+}
+
+/***
+deallocates the memory at ARGUMENT(ptr). Specifying CONSTANT(NULL)
+causes nothing to happen.
+***/
+
+/*
+UNDEFINED(ARGUMENT(ptr) was not returned by a previous call to FUNCTION(calloc), FUNCTION(malloc), or FUNCTION(realloc))
+STDC(1)
+*/