From: Michael Tremer Date: Mon, 25 Sep 2023 15:33:42 +0000 (+0000) Subject: transaction: Fix writing the separator line X-Git-Tag: 0.9.30~1647 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f97ec99c170c1550a18aaeb04a8698d4e5da5fa;p=pakfire.git transaction: Fix writing the separator line Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/transaction.c b/src/libpakfire/transaction.c index 841ed0b87..43904e6d4 100644 --- a/src/libpakfire/transaction.c +++ b/src/libpakfire/transaction.c @@ -963,13 +963,21 @@ static int pakfire_transaction_add_package_change(char** s, size_t width, } static int pakfire_transaction_add_separator(char** s, size_t width) { - char* separator = alloca(width + 1); + int r; + + // Write line of = + for (unsigned int i = 0; i < width; i++) { + r = asprintf(s, "%s=", *s); + if (r < 0) + return r; + } - for (unsigned int i = 0; i < width; i++) - separator[i] = '='; - separator[width] = '\0'; + // Append newline + r = asprintf(s, "%s\n", *s); + if (r < 0) + return r; - return pakfire_transaction_append_line(s, "%s%s\n", *s, separator); + return 0; } static int pakfire_transaction_add_usage_line(char** s, size_t width,