Fix small bug in base64_encode()
diff --git a/ChangeLog b/ChangeLog
index 517b45e..f122aa6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -58,6 +58,7 @@
      key exchanges enabled needs certificates. This fixes a possible interop
      issue with some servers when a zero-length extension was sent. (Reported
      by Peter Dettman.)
+   * On a 0-length input, base64_encode() did not correctly set output length.
 
 Changes
    * Use deterministic nonces for AEAD ciphers in TLS by default (possible to
diff --git a/library/base64.c b/library/base64.c
index d3814d6..0c6b46c 100644
--- a/library/base64.c
+++ b/library/base64.c
@@ -82,7 +82,10 @@
     unsigned char *p;
 
     if( slen == 0 )
+    {
+        *dlen = 0;
         return( 0 );
+    }
 
     n = ( slen << 3 ) / 6;