aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--miscutils/less.c7
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