commit 2293aea1252c99834c4117f51b8e4f3f625ab2ca from: Kirill A. Korinsky date: Mon Jun 2 19:57:23 2025 UTC prevent dkim_ar_cat from lose last character It losed the last character when the length resulted string was multiple of 256 commit - 36daa2d4bbadd128a286caf4ecdf800c45c65aa3 commit + 2293aea1252c99834c4117f51b8e4f3f625ab2ca blob - 9b1b427984b0c93f53dfc1b7c504a78863566cdd blob + 16d759acc94b7412e13b496e71fa3e8e82e14a3c --- main.c +++ main.c @@ -1738,7 +1738,7 @@ dkim_ar_cat(char **ar, size_t *n, size_t aroff, const va_start(ap, fmt); size = vsnprintf(*ar + aroff, *n - aroff, fmt, ap); va_end(ap); - if (size + aroff <= *n) + if (size + aroff < *n) return (ssize_t)size + aroff; nn = (((aroff + size) / 256) + 1) * 256; artmp = realloc(*ar, nn);