diff options
| author | jacksonmj <jacksonmj@jacksonmj.none> | 2011-01-30 22:37:59 (GMT) |
|---|---|---|
| committer | jacksonmj <jacksonmj@jacksonmj.none> | 2011-01-30 22:37:59 (GMT) |
| commit | e2b916a91fcd0563853e45a8a8c509d63876e8e5 (patch) | |
| tree | e5f09047773cbc91832c085670ca3e760ca190db /src/main.c | |
| parent | f97990fedd034e013d27bfb83a6196ab0d4c9a66 (diff) | |
| download | powder-e2b916a91fcd0563853e45a8a8c509d63876e8e5.zip powder-e2b916a91fcd0563853e45a8a8c509d63876e8e5.tar.gz | |
Console segfault fix
ed.str is deallocated when console_ui returns. Dereferencing the
returned pointer to ed.str therefore results in bad things.
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1707,6 +1707,7 @@ int main(int argc, char *argv[]) //char error[255] = "error!"; sys_pause = 1; console = console_ui(vid_buf,error); + console = mystrdup(console); strcpy(error,""); if(console && strcmp(console, "")!=0 && strncmp(console, " ", 1)!=0) { @@ -1716,6 +1717,7 @@ int main(int argc, char *argv[]) console5 = strtok(NULL, " "); if(strcmp(console2, "quit")==0) { + free(console); break; } else if(strcmp(console2, "load")==0 && console3) @@ -1955,6 +1957,7 @@ int main(int argc, char *argv[]) else sprintf(error, "Invalid Command", console2); } + free(console); if(!console_mode) hud_enable = 1; } |
