Change memory allocation API to require size for free and realloc.
diff --git a/py/malloc.c b/py/malloc.c
index 2f8b5f7..c65d38a 100644
--- a/py/malloc.c
+++ b/py/malloc.c
@@ -5,12 +5,6 @@
 
 static int total_bytes_allocated = 0;
 
-void m_free(void *ptr) {
-    if (ptr != NULL) {
-        free(ptr);
-    }
-}
-
 void *m_malloc(int num_bytes) {
     if (num_bytes == 0) {
         return NULL;
@@ -37,20 +31,26 @@
     return ptr;
 }
 
-void *m_realloc(void *ptr, int num_bytes) {
-    if (num_bytes == 0) {
+void *m_realloc(void *ptr, int old_num_bytes, int new_num_bytes) {
+    if (new_num_bytes == 0) {
         free(ptr);
         return NULL;
     }
-    ptr = realloc(ptr, num_bytes);
+    ptr = realloc(ptr, new_num_bytes);
     if (ptr == NULL) {
-        printf("could not allocate memory, reallocating %d bytes\n", num_bytes);
+        printf("could not allocate memory, reallocating %d bytes\n", new_num_bytes);
         return NULL;
     }
-    total_bytes_allocated += num_bytes;
+    total_bytes_allocated += new_num_bytes;
     return ptr;
 }
 
+void m_free(void *ptr, int num_bytes) {
+    if (ptr != NULL) {
+        free(ptr);
+    }
+}
+
 int m_get_total_bytes_allocated(void) {
     return total_bytes_allocated;
 }