Talk:Algorithm Implementation/Miscellaneous/Base64

Fixed buffer overflow problem in encoder C source code
Before this source code was moved to Wikibooks, I noticed there was a buffer overflow bug in the C version of the base64 encoder that could cause memory corruption 1 byte past the stated end of the caller's result buffer. See: http://en.wikipedia.org/wiki/Talk:Base64#Apparent_buffer_overflow_bug_in_C_code I have fixed this bug here. I also made the function return  instead of , so that the caller can tell whether the encoder was passed a buffer sufficiently large to receive the complete encoding. The function now returns 1 if successful, or 0 if the encoding is not complete. CosineKitty (talk) 18:45, 26 May 2008 (UTC)

Fixed another buffer overflow: On certain compilers (e.g. Arduino, -Os), the line e.g.    n = data[x] << 16; is compiled as n = (uint32_t)(data[x] << 16); so n is set to 0. fixed it to: n = ((uint32_t)data[x]) << 16; --Ntg sf (discuss • contribs) 17:47, 7 October 2014 (UTC)
 * While the cast is needed, the outer parenthesis are not, unless I'm mistaken. So it should be . --Stw (discuss • contribs) 16:43, 16 January 2016 (UTC)

Added C++ encoder and decoder example
Er.. yup. I added it :P Billyoneal (talk) 01:48, 7 May 2009 (UTC)

Group by language instead of encoding and decoding?
I noticed that in the Java decoding section that both the encoding and decoding is done here.

Should the code be separated or should it be grouped by language instead of encode/decode? Lone wolfII (talk) 08:14, 19 September 2009 (UTC)