diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c
index 7efe86c34050a266de4ca7792b4f78c61018238e..d35387a27798bdc45bc9e1e3b74427fb7f32abd8 100644
--- a/src/sbbs3/js_file.c
+++ b/src/sbbs3/js_file.c
@@ -1315,7 +1315,7 @@ js_fprintf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 	}
 
 	*rval = INT_TO_JSVAL(fwrite(cp,1,strlen(cp),p->fp));
-	free(cp);
+	js_sprintf_free(cp);
 	
     return(JS_TRUE);
 }
diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index 3eca314bb24049a75869a07a3555671b6ba17ef8..c014dff4a120652e1d503f6cbcd4ec5ffc3d05d7 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -293,7 +293,7 @@ js_format(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 	}
 
 	str = JS_NewStringCopyZ(cx, p);
-	free(p);
+	js_sprintf_free(p);
 
 	if(str==NULL)
 		return(JS_FALSE);
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 2d35b7068992d835d487e6bd1ac380ca6d11791b..b34e9986cc9a111a5fb716070c0031074cd386c6 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -710,7 +710,7 @@ js_printf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 
 	*rval = STRING_TO_JSVAL(JS_NewStringCopyZ(cx, p));
 
-	free(p);
+	js_sprintf_free(p);
 
     return(JS_TRUE);
 }