From: NeilBrown Date: Sat, 19 Aug 2023 22:39:41 +0000 (+1000) Subject: lib-renderline: handle garbage better in cvt() X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=d33c35a1d66c311fec16839f73291b8d0f16f516;p=edlib.git lib-renderline: handle garbage better in cvt() cvt() shouldn't assume a well-formatted string, and must always quite when it sees EOL. Signed-off-by: NeilBrown --- diff --git a/lib-renderline.c b/lib-renderline.c index 1708c1b0..501155bf 100644 --- a/lib-renderline.c +++ b/lib-renderline.c @@ -1229,15 +1229,18 @@ static char *cvt(char *str safe) if (c[0] != '<') continue; if (c[1] == '/') { - c[0] = ack; - c[1] = ack; - c[2] = etx; - c += 2; + while (*c && *c != '>') + *c++ = ack; + if (!*c) + break; + *c = etx; continue; } c[0] = soh; while (c[0] && c[1] != '>') c++; + if (!c[0]) + break; c[1] = stx; } return str;