From 6a408fae2e9258bcb3e29457cb49c1e293d02584 Mon Sep 17 00:00:00 2001 From: Lizongdi <1210855344@qq.com> Date: Thu, 10 Sep 2026 14:03:13 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=B8=BB=E7=BA=BF=E5=BE=85=E5=90=88?= =?UTF-8?q?=E3=80=91=E8=A7=A3=E5=86=B3lua=E4=B8=ADfree=E7=A9=BA=E6=8C=87?= =?UTF-8?q?=E9=92=88=E5=92=8C=E5=A0=86=E6=A0=88=E7=A9=BA=E9=97=B4=E6=B7=B7?= =?UTF-8?q?=E7=94=A8=E5=AF=BC=E8=87=B4=E7=9A=84=E9=87=8A=E6=94=BE=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/lua.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lua/lua.c b/lua/lua.c index 04b3a43..62ef005 100644 --- a/lua/lua.c +++ b/lua/lua.c @@ -313,7 +313,8 @@ static char *readline(const char *_pcPrompt, char *_pcBuffer, int _iSize, int _i } linebuffer[len] = '\0'; - char *result = strdup(linebuffer); + char *result = (char *)RD_MALLOC(strlen(linebuffer) + 1); + if (result) strcpy(result, linebuffer); if (len > 0 && strcmp(linebuffer, "exit") != 0) { @@ -529,7 +530,7 @@ int lua_repl(char *_pcBuffer, int _iSize, int _iEcho) } else { - RD_FREE(buffer); + if (buffer) RD_FREE(buffer); buffer = line; buffer_len = strlen(line); } @@ -672,7 +673,7 @@ cleanup: RD_FREE(wrapped_code); wrapped_code = NULL; } - RD_FREE(buffer); + if (buffer) RD_FREE(buffer); buffer = NULL; lua_close(L); L = NULL;