lists.zerezo.com
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug fix incremental base64 encoding (glib)
- Date: Wed, 18 Jun 2008 17:37:29 +0200
- From: Sebastian Siewior <sebastian@xxxxxxxxxxxxx>
- Subject: bug fix incremental base64 encoding (glib)
Bug available in Revision 7055 @
http://svn.gnome.org/svn/glib/trunk/glib/
If the previous incremental encoding saved two bytes, the followed-up
incremental just one and we than call the finish routine than state
looks like '01-XX-YY-00' where XX is the actual saved c1 and YY and c2
saved from the last previous (not last) incremental encoding. Since c2
is not zero now, we get a bogus result.
Signed-off-by Sebastian Siewior <sebastian@xxxxxxxxxxxxx>
--- a/glib/gbase64.c 2008-06-14 13:45:43.700994494 +0200
+++ b/glib/gbase64.c 2008-06-14 14:21:22.610015263 +0200
@@ -182,15 +182,16 @@
g_return_val_if_fail (save != NULL, 0);
c1 = ((unsigned char *) save) [1];
- c2 = ((unsigned char *) save) [2];
switch (((char *) save) [0])
{
case 2:
+ c2 = ((unsigned char *) save) [2];
outptr [2] = base64_alphabet[ ( (c2 &0x0f) << 2 ) ];
g_assert (outptr [2] != 0);
goto skip;
case 1:
+ c2 = 0;
outptr[2] = '=';
skip:
outptr [0] = base64_alphabet [ c1 >> 2 ];
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-devel-list