From e34562df4870eb0fc380f8e99b16f1d21a0fd472 Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Mon, 4 Nov 2019 09:58:53 -0800 Subject: [PATCH] Fix error handling in decode_base64() --- CHANGES | 4 ++++ VERSION | 2 +- src/Base64.cc | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index a7596549c3..367e1db200 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,8 @@ +3.1.0-dev.242 | 2019-11-04 09:58:53 -0800 + + * Fix error handling in decode_base64() (Jon Siwek, Corelight) + 3.1.0-dev.241 | 2019-11-04 09:44:20 -0800 * Revert recent changes to Base64.h API. (Jon Siwek, Corelight) diff --git a/VERSION b/VERSION index 0314faa8b8..9143c3cb17 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.1.0-dev.241 +3.1.0-dev.242 diff --git a/src/Base64.cc b/src/Base64.cc index ed45c513ed..53ddfecef6 100644 --- a/src/Base64.cc +++ b/src/Base64.cc @@ -230,7 +230,9 @@ BroString* decode_base64(const BroString* s, const BroString* a, Connection* con char* rbuf2, *rbuf = new char[rlen]; Base64Converter dec(conn, a ? a->CheckString() : ""); - if ( dec.Decode(s->Len(), (const char*) s->Bytes(), &rlen, &rbuf) == -1 ) + dec.Decode(s->Len(), (const char*) s->Bytes(), &rlen, &rbuf); + + if ( dec.Errored() ) goto err; rlen2 = buf_len - rlen;