From 0dbd3f064a2dee66cca6c4095d85304f8ebd199f Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Windows 11)" <rob@synchro.net>
Date: Fri, 29 Dec 2023 03:59:54 -0800
Subject: [PATCH] Fix some apparent memory leaks when using file's auxdata

Nobody's really using this auxdata yet, besides echicken, so no impact for
others.
---
 src/sbbs3/js_filebase.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/sbbs3/js_filebase.c b/src/sbbs3/js_filebase.c
index fa842a56d2..859e7e2529 100644
--- a/src/sbbs3/js_filebase.c
+++ b/src/sbbs3/js_filebase.c
@@ -1226,6 +1226,7 @@ js_add_file(JSContext *cx, uintN argc, jsval *arglist)
 	JS_RESUMEREQUEST(cx, rc);
 	smb_freefilemem(&file);
 	free(extdesc);
+	free(auxdata);
 
 	return JS_TRUE;
 }
@@ -1305,7 +1306,8 @@ js_update_file(JSContext *cx, uintN argc, jsval *arglist)
 			} else {
 				if(file.extdesc != NULL)
 					truncsp(file.extdesc);
-				if(!readd_always && strcmp(extdesc ? extdesc : "", file.extdesc ? file.extdesc : "") == 0)
+				if(!readd_always && strcmp(extdesc ? extdesc : "", file.extdesc ? file.extdesc : "") == 0
+					&& strcmp(auxdata ? auxdata : "", file.auxdata ? file.auxdata : "") == 0)
 					p->smb_result = smb_putfile(&p->smb, &file);
 				else {
 					if((p->smb_result = smb_removefile(&p->smb, &file)) == SMB_SUCCESS) {
@@ -1320,6 +1322,7 @@ js_update_file(JSContext *cx, uintN argc, jsval *arglist)
 	smb_freefilemem(&file);
 	free(filename);
 	free(extdesc);
+	free(auxdata);
 
 	return result;
 }
-- 
GitLab