diff options
-rw-r--r-- | dzen.h | 2 | ||||
-rw-r--r-- | main.c | 5 |
2 files changed, 5 insertions, 2 deletions
@@ -96,7 +96,7 @@ struct DZEN { Bool ispersistent; Bool tsupdate; unsigned long timeout; - int cur_line; + long cur_line; int ret_val; /* should always be 0 if DZEN_XINERAMA not defined */ @@ -98,7 +98,7 @@ chomp(char *inbuf, char *outbuf, int start, int len) { free(rem); rem = NULL; } - while(off < len) { + while((off < len) && (off < MAX_LINE_LEN)) { if(inbuf[off] != '\n') { outbuf[i++] = inbuf[off++]; } else if(inbuf[off] == '\n') { @@ -107,6 +107,9 @@ chomp(char *inbuf, char *outbuf, int start, int len) { } } + if(off >= MAX_LINE_LEN) + return 0; + outbuf[i] = '\0'; rem = estrdup(outbuf); return 0; |