shithub: sf2mid

Download patch

ref: f9fe5cb507f5ae7a05ba80ab782dabcd8af55fc9
parent: 1adf351ed1e05372fb886d839dda126dc85727a0
author: Ellie <el@horse64.org>
date: Sun Nov 14 14:36:21 EST 2021

Fix new refCount allocation not being checked for success

--- a/tsf.h
+++ b/tsf.h
@@ -1344,8 +1344,12 @@
 {
 	tsf* res;
 	if (!f) return TSF_NULL;
-	if (!f->refCount)
-		*(f->refCount = (int*)TSF_MALLOC(sizeof(int))) = 1;
+	if (!f->refCount) {
+		f->refCount = (int*)TSF_MALLOC(sizeof(int));
+		if (!f->refCount)
+			return TSF_NULL;
+		*f->refCount = 1;
+	}
 	res = (tsf*)TSF_MALLOC(sizeof(tsf));
 	if (!res) return TSF_NULL;
 	TSF_MEMCPY(res, f, sizeof(tsf));
@@ -1352,6 +1356,7 @@
 	res->voices = TSF_NULL;
 	res->voiceNum = 0;
 	res->channels = TSF_NULL;
+
 	++(*res->refCount);
 	return res;
 }