diff options
-rw-r--r-- | miscutils/less.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/miscutils/less.c b/miscutils/less.c index 3016c5b47..c5820d325 100644 --- a/miscutils/less.c +++ b/miscutils/less.c | |||
@@ -428,14 +428,13 @@ static void read_lines(void) | |||
428 | w -= 8; | 428 | w -= 8; |
429 | 429 | ||
430 | p = current_line = ((char*)xmalloc(w + 4)) + 4; | 430 | p = current_line = ((char*)xmalloc(w + 4)) + 4; |
431 | max_fline += last_terminated; | ||
432 | if (!last_terminated) { | 431 | if (!last_terminated) { |
433 | const char *cp = flines[max_fline]; | 432 | const char *cp = flines[max_fline]; |
434 | strcpy(p, cp); | 433 | p = stpcpy(p, cp); |
435 | p += strlen(current_line); | 434 | free(MEMPTR(cp)); |
436 | free(MEMPTR(flines[max_fline])); | ||
437 | /* last_line_pos is still valid from previous read_lines() */ | 435 | /* last_line_pos is still valid from previous read_lines() */ |
438 | } else { | 436 | } else { |
437 | max_fline++; | ||
439 | last_line_pos = 0; | 438 | last_line_pos = 0; |
440 | } | 439 | } |
441 | 440 | ||