Commit Diff


commit - 348f2e63579da7efa4351bbd45702f4632acddd7
commit + 0379d2666788c6c4319eda65d24f633427832d4b
blob - 096170bf26e50a683343abc89d28a52a9c947a30
blob + aed4e74674b95761391ab7491bfc18a2d8573f3c
--- main.c
+++ main.c
@@ -1725,6 +1725,8 @@ 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 <= 0)
+		return -1;
 	if (size + aroff <= *n)
 		return (ssize_t)size + aroff;
 	nn = (((aroff + size)  / 256) + 1) * 256;
@@ -1736,6 +1738,8 @@ 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 <= 0)
+		return -1;
 	return (ssize_t)size + aroff;
 }