From 4a0b7cafa64b0440ef53984e83ab77fe30b35d86 Mon Sep 17 00:00:00 2001 From: EntireTwix Date: Fri, 28 May 2021 01:56:16 -0700 Subject: [PATCH] :bug: infinite allocate bug --- include/log.hpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/include/log.hpp b/include/log.hpp index 9cfaead..f901b87 100644 --- a/include/log.hpp +++ b/include/log.hpp @@ -10,7 +10,7 @@ struct Log uint32_t end = 0; void AddTrans(Transaction &&v) { - if (data.size() == end) + if (data.size() <= end+1 && end+1 <= max_log_size) //if memory reserved is full { data.resize(data.size() + pre_log_size); //prefetching memory } @@ -19,10 +19,7 @@ struct Log data[i] = std::move(data[i - 1]); } data[0] = std::move(v); - if (end < max_log_size) - { - ++end; - } + end += (end < max_log_size); //branchless } Json::Value Serialize() const { @@ -36,6 +33,4 @@ struct Log } return res; } -}; - -//[*][*][] +}; \ No newline at end of file