diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-05-30 23:05:01 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-05-30 23:05:01 (GMT) |
| commit | 7a875dd846ba7f28e54350e5f3b9d8836b7d069d (patch) | |
| tree | 1aefe9545562627b891ecb12a697db1f1d1a30a5 /src | |
| parent | b0659e3dd190070fdc8b1b5bb404e411825e205a (diff) | |
| download | powder-7a875dd846ba7f28e54350e5f3b9d8836b7d069d.zip powder-7a875dd846ba7f28e54350e5f3b9d8836b7d069d.tar.gz | |
Fix buffer overflow with huge error message
Diffstat (limited to 'src')
| -rw-r--r-- | src/luaconsole.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/luaconsole.c b/src/luaconsole.c index bc6a2cc..8b8c222 100644 --- a/src/luaconsole.c +++ b/src/luaconsole.c @@ -61,6 +61,7 @@ void luacon_close(){ int process_command_lua(pixel *vid_buf, char *console, char *console_error) { int commandret; + char * tmp_error; char console2[15]; char console3[15]; char console4[15]; @@ -74,8 +75,11 @@ int process_command_lua(pixel *vid_buf, char *console, char *console_error) return -1; } else { commandret = luacon_eval(console); - if (commandret) - strcpy(console_error, luacon_geterror()); + if (commandret){ + tmp_error = luacon_geterror(); + strncpy(console_error, tmp_error, 254); + printf("%s\n", tmp_error); + } } } return 1; |
