Avoid a used-uninitialized bug for invalid input, i.e., when the size
authorJim Meyering <jim@meyering.net>
Fri, 5 Jan 2007 11:30:51 +0000 (12:30 +0100)
committerJim Meyering <jim@meyering.net>
Fri, 5 Jan 2007 11:30:51 +0000 (12:30 +0100)
of the input, not counting newlines, is 1 % 4.
* gl/lib/base64.c (base64_decode): Don't hard-code inlen==4.
It may be smaller when flushing.

ChangeLog
gl/lib/base64.c

index 14ab651..9c4eb97 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-01-05  Jim Meyering  <jim@meyering.net>
+
+       Avoid a used-uninitialized bug for invalid input, i.e., when the size
+       of the input, not counting newlines, is 1 % 4.
+       * gl/lib/base64.c (base64_decode): Don't hard-code inlen==4.
+       It may be smaller when flushing.
+
 2007-01-05  Mike Frysinger  <vapier@gentoo.org>
 
        * src/dircolors.hin: Add a TERM directive for cons25.
index ba7322a..a438d0f 100644 (file)
@@ -506,7 +506,7 @@ base64_decode (struct base64_decode_context *ctx,
            inlen = 0;
            break;
          }
-       if (!decode_4 (non_nl, 4, &out, &outleft))
+       if (!decode_4 (non_nl, inlen, &out, &outleft))
          break;
 
        inlen = in_end - in;