Commit Diff
--- 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);