From 9a659e31c147bbc5563bf9fe8fd61b3e03ab6412 Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Sun, 7 Mar 2021 22:13:47 -0800 Subject: [PATCH] Restrict a2b_hex to 2000 bytes. [ Merge of http://go/wvgerrit/109144 ] Because it doesn't help anybody when a buffer overflow test chokes the logger. Bug: 182058081 Test: Ran unit tests with verbose logging Change-Id: Ibcb3379b9eb9bdd94a8959b977e8de32ea116859 --- libwvdrmengine/cdm/util/src/string_conversions.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libwvdrmengine/cdm/util/src/string_conversions.cpp b/libwvdrmengine/cdm/util/src/string_conversions.cpp index cd93dbbd..e40e6f7e 100644 --- a/libwvdrmengine/cdm/util/src/string_conversions.cpp +++ b/libwvdrmengine/cdm/util/src/string_conversions.cpp @@ -254,6 +254,8 @@ std::vector Base64SafeDecode(const std::string& b64_input) { std::string HexEncode(const uint8_t* in_buffer, unsigned int size) { static const char kHexChars[] = "0123456789ABCDEF"; if (size == 0) return ""; + constexpr unsigned int kMaxSafeSize = 2048; + if (size > kMaxSafeSize) size = kMaxSafeSize; // Each input byte creates two output hex characters. std::string out_buffer(size * 2, '\0');