aboutsummaryrefslogtreecommitdiffstats
path: root/epan/tvbuff_base64.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2018-08-31 23:00:44 +0200
committerAnders Broman <a.broman58@gmail.com>2018-09-03 04:05:13 +0000
commit65b342f7497825c2abc4e98c7fd9f4ff6d8ed45c (patch)
tree3746e1055e28476a4b8ba30df6996fcd16b636c1 /epan/tvbuff_base64.c
parent42ad60896da6655d89c4e220a36766f121cdb856 (diff)
epan: Use g_base64_decode_inplace()
Replace ws_base64_decode_inplace() with g_base64_decode_inplace() or g_base64_decode(), which was introduced in glib 2.12. The only observed difference is a need for zero-terminate the buffer after decoding. Change-Id: Ia102d0d8e9bec575ffeddf448191a3f6de9fb1ed Reviewed-on: https://code.wireshark.org/review/29382 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/tvbuff_base64.c')
-rw-r--r--epan/tvbuff_base64.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/epan/tvbuff_base64.c b/epan/tvbuff_base64.c
index 53d50fc94f..2c39c704e0 100644
--- a/epan/tvbuff_base64.c
+++ b/epan/tvbuff_base64.c
@@ -13,17 +13,16 @@
#include <glib.h>
#include <epan/tvbuff.h>
-#include <wsutil/base64.h>
tvbuff_t *
base64_to_tvb(tvbuff_t *parent, const char *base64)
{
tvbuff_t *tvb;
- char *data = g_strdup(base64);
- gint len;
+ char *data;
+ gsize len;
- len = (gint) ws_base64_decode_inplace(data);
- tvb = tvb_new_child_real_data(parent, (const guint8 *)data, len, len);
+ data = g_base64_decode(base64, &len);
+ tvb = tvb_new_child_real_data(parent, (const guint8 *)data, (gint)len, (gint)len);
tvb_set_free_cb(tvb, g_free);