Trim can generate strings longer than the original if there are many #s,

so create a bigger buffer. Reported by Robert Morris.
pull/3661/head
nicm 2023-08-07 10:04:29 +00:00
parent b13c230749
commit a5fd80bbc3
1 changed files with 2 additions and 2 deletions

View File

@ -1083,7 +1083,7 @@ format_trim_left(const char *expanded, u_int limit)
struct utf8_data ud;
enum utf8_state more;
out = copy = xcalloc(1, strlen(expanded) + 1);
out = copy = xcalloc(2, strlen(expanded) + 1);
while (*cp != '\0') {
if (width >= limit)
break;
@ -1150,7 +1150,7 @@ format_trim_right(const char *expanded, u_int limit)
return (xstrdup(expanded));
skip = total_width - limit;
out = copy = xcalloc(1, strlen(expanded) + 1);
out = copy = xcalloc(2, strlen(expanded) + 1);
while (*cp != '\0') {
if (*cp == '#') {
end = format_leading_hashes(cp, &n, &leading_width);