Mercurial > hg > toybox
changeset 1536:1d996b0a11c0 draft
Fix use after free error spotted by ?ukasz Szpakowski.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 27 Oct 2014 19:20:31 -0500 |
parents | b50de98c9708 |
children | a6ef79b31829 |
files | toys/posix/tail.c |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/toys/posix/tail.c Mon Oct 27 18:08:59 2014 -0500 +++ b/toys/posix/tail.c Mon Oct 27 19:20:31 2014 -0500 @@ -176,9 +176,13 @@ linepop = try[count] == '\n'; if (lines > 0) { + char c; + do { + c = *list->data; if (!--(list->len)) free(dlist_pop(&list)); - } while (*(list->data++) != '\n'); + else list->data++; + } while (c != '\n'); lines--; } }