diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2018-08-31 23:00:44 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-09-03 04:05:13 +0000 |
commit | 65b342f7497825c2abc4e98c7fd9f4ff6d8ed45c (patch) | |
tree | 3746e1055e28476a4b8ba30df6996fcd16b636c1 /epan/tvbuff_base64.c | |
parent | 42ad60896da6655d89c4e220a36766f121cdb856 (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.c | 9 |
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); |