diff --git a/include/common/config.h b/include/common/config.h
index 27b8f14..f5d290f 100644
--- a/include/common/config.h
+++ b/include/common/config.h
@@ -41,28 +41,6 @@
 #  define CONFIG_HAP_MEM_OPTIM
 #endif /* CONFIG_HAP_NO_MEM_OPTIM */
 
-/* CONFIG_HAP_MALLOC / CONFIG_HAP_CALLOC / CONFIG_HAP_FREE
- * This macro allows to replace the malloc function with another one.
- */
-#ifdef CONFIG_HAP_MALLOC
-#define MALLOC	CONFIG_HAP_MALLOC
-#else
-#define MALLOC	malloc
-#endif
-
-#ifdef CONFIG_HAP_CALLOC
-#define CALLOC	CONFIG_HAP_CALLOC
-#else
-#define CALLOC	calloc
-#endif
-
-#ifdef CONFIG_HAP_FREE
-#define FREE	CONFIG_HAP_FREE
-#else
-#define FREE	free
-#endif
-
-
 /* CONFIG_HAP_INLINE_FD_SET
  * This makes use of inline FD_* macros instead of calling equivalent
  * functions. Benchmarks on a Pentium-M show that using functions is
diff --git a/src/memory.c b/src/memory.c
index c1db4ff..9f8396d 100644
--- a/src/memory.c
+++ b/src/memory.c
@@ -81,7 +81,7 @@
 	}
 
 	if (!pool) {
-		pool = CALLOC(1, sizeof(*pool));
+		pool = calloc(1, sizeof(*pool));
 		if (!pool)
 			return NULL;
 		if (name)
@@ -114,7 +114,7 @@
 		if (pool->limit && pool->allocated >= pool->limit)
 			return NULL;
 
-		ptr = MALLOC(pool->size + POOL_EXTRA);
+		ptr = malloc(pool->size + POOL_EXTRA);
 		if (!ptr) {
 			pool->failed++;
 			if (failed)
@@ -151,7 +151,7 @@
 		temp = next;
 		next = *POOL_LINK(pool, temp);
 		pool->allocated--;
-		FREE(temp);
+		free(temp);
 	}
 	pool->free_list = next;
 
@@ -180,7 +180,7 @@
 			temp = next;
 			next = *POOL_LINK(entry, temp);
 			entry->allocated--;
-			FREE(temp);
+			free(temp);
 		}
 		entry->free_list = next;
 	}
@@ -204,7 +204,7 @@
 		pool->users--;
 		if (!pool->users) {
 			LIST_DEL(&pool->list);
-			FREE(pool);
+			free(pool);
 		}
 	}
 	return NULL;
