From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-02-09 10:24:23
Vladimir Prus wrote:
> the attached program crashes for me, and I can't understand why.
I think I know now. The 'save_binary' method uses base64 encoding. The
RFC 3548 says that:
The encoding process represents 24-bit groups of input bits as output
strings of 4 encoded characters.
Special processing is performed if fewer than 24 bits are available
at the end of the data being encoded.
That special processing is adding of '=' symbols at the end. Now, it looks
like your base64 encoder does not deal with padding.
In my case, it generated a strings of 22 characters -- and that's no
multiple of 4. I suspect that after that, reading grabs two additional
characters, after which everything goes wrong.
What do you think?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk