From 09e6e2940f85e97dee631021a31594f04457c34e Mon Sep 17 00:00:00 2001 From: orignal Date: Fri, 9 Sep 2022 07:23:46 -0400 Subject: [PATCH] correct max paddign size --- libi2pd/SSU2Session.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libi2pd/SSU2Session.cpp b/libi2pd/SSU2Session.cpp index b7e33b3a..fab1a397 100644 --- a/libi2pd/SSU2Session.cpp +++ b/libi2pd/SSU2Session.cpp @@ -2366,10 +2366,10 @@ namespace transport size_t SSU2Session::CreatePaddingBlock (uint8_t * buf, size_t len, size_t minSize) { - if (len < minSize) return 0; - uint8_t paddingSize = rand () & 0x0F; // 0 - 15 - if (paddingSize > len) paddingSize = len; - else if (paddingSize < minSize) paddingSize = minSize; + if (len < 3 || len < minSize) return 0; + size_t paddingSize = rand () & 0x0F; // 0 - 15 + if (paddingSize + 3 > len) paddingSize = len - 3; + else if (paddingSize + 3 < minSize) paddingSize = minSize - 3; if (paddingSize) { buf[0] = eSSU2BlkPadding;