From: Matthias Clasen Date: Fri, 16 Mar 2007 19:50:14 +0000 (+0000) Subject: Warn if the input is too short. (#418862, Halton Huo) X-Git-Tag: GLIB_2_13_0~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c182fecfa12c558e257fa4059f764b9024e5994a;p=platform%2Fupstream%2Fglib.git Warn if the input is too short. (#418862, Halton Huo) 2007-03-16 Matthias Clasen * glib/gbase64.c (g_base64_decode): Warn if the input is too short. (#418862, Halton Huo) svn path=/trunk/; revision=5417 --- diff --git a/ChangeLog b/ChangeLog index c4a3f8e..8aa77ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-03-16 Matthias Clasen + + * glib/gbase64.c (g_base64_decode): Warn if the input + is too short. (#418862, Halton Huo) + Fri Mar 16 11:24:51 2007 Tim Janik * glib/gscanner.[hc]: reverted premature commit which broke @@ -10,6 +15,11 @@ Fri Mar 16 11:24:51 2007 Tim Janik 2007-03-15 Matthias Clasen + * glib/gscanner.[hc]: Revert recent changes that break + existing users of GScanner. + +2007-03-15 Matthias Clasen + * glib/gscanner.c (g_scanner_get_token_ll): Fix a typo in the last commit. (#415323, Richard Hult) diff --git a/glib/gbase64.c b/glib/gbase64.c index c6902b2..f45df1e 100644 --- a/glib/gbase64.c +++ b/glib/gbase64.c @@ -358,16 +358,19 @@ g_base64_decode (const gchar *text, gsize *out_len) { guchar *ret; - gint inlen, state = 0; + gint input_length, state = 0; guint save = 0; g_return_val_if_fail (text != NULL, NULL); g_return_val_if_fail (out_len != NULL, NULL); - inlen = strlen (text); - ret = g_malloc0 (inlen * 3 / 4); + input_length = strlen (text); + + g_return_val_if_fail (input_length > 1, NULL); + + ret = g_malloc0 (input_length * 3 / 4); - *out_len = g_base64_decode_step (text, inlen, ret, &state, &save); + *out_len = g_base64_decode_step (text, input_length, ret, &state, &save); return ret; }