diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c
index 6eaacbe90934aaf2c7ed61b633837995c15ebe89..913e1bc1ecf8bc60897c9f98514d9b65bb799395 100644
--- a/src/sbbs3/js_socket.c
+++ b/src/sbbs3/js_socket.c
@@ -284,6 +284,7 @@ js_sendfile(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
 		return(JS_TRUE);
 	}
 	if(read(file,buf,len)!=len) {
+		free(buf);
 		close(file);
 		return(JS_TRUE);
 	}