BUG/MINOR: base64: dec func ignores padding for output size checking

Decode function returns an error even if the ouptut buffer is
large enought because the padding was not considered. This
case was never met with current code base.
diff --git a/src/base64.c b/src/base64.c
index f7961c5..e7c9519 100644
--- a/src/base64.c
+++ b/src/base64.c
@@ -83,7 +83,9 @@
 	if (ilen % 4)
 		return -1;
 
-	if (olen < ilen / 4 * 3)
+	if (olen < ((ilen / 4 * 3)
+	            - (in[ilen-1] == '=' ? 1 : 0)
+	            - (in[ilen-2] == '=' ? 1 : 0)))
 		return -2;
 
 	while (ilen) {