From 3f0534134dc30c878b2e15279d2bc1d52bbfda18 Mon Sep 17 00:00:00 2001 From: orignal Date: Thu, 4 Jul 2019 13:05:39 -0400 Subject: [PATCH] check for malformed b33 --- libi2pd/Blinding.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libi2pd/Blinding.cpp b/libi2pd/Blinding.cpp index 14852340..e51c0fcc 100644 --- a/libi2pd/Blinding.cpp +++ b/libi2pd/Blinding.cpp @@ -139,6 +139,11 @@ namespace data { uint8_t addr[40]; // TODO: define length from b33 size_t l = i2p::data::Base32ToByteStream (b33.c_str (), b33.length (), addr, 40); + if (l < 32) + { + LogPrint (eLogError, "Blinding: malformed b33 ", b33); + return; + } uint32_t checksum = crc32 (0, addr + 3, l - 3); // checksum is Little Endian addr[0] ^= checksum; addr[1] ^= (checksum >> 8); addr[2] ^= (checksum >> 16);