From: Jim Meyering Date: Fri, 5 Jan 2007 11:30:51 +0000 (+0100) Subject: Avoid a used-uninitialized bug for invalid input, i.e., when the size X-Git-Tag: COREUTILS-6_8~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab58de37e6e01b22acc49f72b109b6e910f5190a;p=thirdparty%2Fcoreutils.git 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. --- diff --git a/ChangeLog b/ChangeLog index 14ab6512d2..9c4eb97f25 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-01-05 Jim Meyering + + 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 * src/dircolors.hin: Add a TERM directive for cons25. diff --git a/gl/lib/base64.c b/gl/lib/base64.c index ba7322a26d..a438d0fd19 100644 --- a/gl/lib/base64.c +++ b/gl/lib/base64.c @@ -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;