mcst-linux-kernel/patches-2024.06.26/gl4es-1.1.4/0060-ARB-Fixed-a-bug-introd...

33 lines
1.1 KiB
Diff

From 47c21ef42921e6c2139dfd0b8399ed1d64a58dde Mon Sep 17 00:00:00 2001
From: rajdakin <rajdakin@gmail.com>
Date: Mon, 19 Oct 2020 11:43:11 +0200
Subject: [PATCH 060/233] [ARB] Fixed a bug introduced by last commit (forgot
to alias)
---
src/gl/arbparser.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/gl/arbparser.c b/src/gl/arbparser.c
index e011b02f..53ea31dc 100755
--- a/src/gl/arbparser.c
+++ b/src/gl/arbparser.c
@@ -2403,6 +2403,14 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
if (!strcmp(tok, "half")) {
// Special case for the 'half' keyword
pushArray((sArray*)curStatusPtr->curValue.newVar.var, strdup("gl4es_half"));
+
+ // Hopefully this doesn't make a free-after-free in case of error (though it shouldn't)
+ int ret;
+ khint_t varIdx = kh_put(variables, curStatusPtr->varsMap, tok, &ret);
+ if (ret < 0) {
+ FAIL("Unknown error");
+ }
+ kh_val(curStatusPtr->varsMap, varIdx) = curStatusPtr->curValue.newVar.var;
}
pushArray((sArray*)curStatusPtr->curValue.newVar.var, tok);
--
2.11.0