Browse Source

【主线待合】解决lua中free空指针和堆栈空间混用导致的释放错误

master
Lizongdi 17 hours ago
parent
commit
6a408fae2e
  1. 7
      lua/lua.c

7
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;

Loading…
Cancel
Save