diff --git a/src/tools/tor_runner.c b/src/tools/tor_runner.c
index 7c43b0d2449f64aff4964d02f91b7ba16d6efdda..cad57a7665cf595a77bcac05e720c3da7bb590f3 100644
--- a/src/tools/tor_runner.c
+++ b/src/tools/tor_runner.c
@@ -80,6 +80,7 @@ tor_run_main(const tor_main_configuration_t *cfg)
 /* circumlocution to avoid getting warned about calling calloc instead of
  * tor_calloc. */
 #define real_calloc calloc
+#define real_free free
 
 static void
 child(const tor_main_configuration_t *cfg)
@@ -93,10 +94,9 @@ child(const tor_main_configuration_t *cfg)
   int rv = execv(BINDIR "/tor", args);
 
   if (rv < 0) {
-    free(args);
+    real_free(args);
     exit(254);
   } else {
     abort(); /* Unreachable */
   }
 }
-