From bbcfe6f19fe7156ad55ba5bc26ee27c0a231012b Mon Sep 17 00:00:00 2001 From: Julian Benda Date: Thu, 11 Feb 2021 20:29:31 +0100 Subject: [PATCH] First test if i in bound than access field --- inkcpp/value.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inkcpp/value.cpp b/inkcpp/value.cpp index 3b189d45..8203ae1d 100644 --- a/inkcpp/value.cpp +++ b/inkcpp/value.cpp @@ -192,7 +192,7 @@ namespace ink // Copy left values into new int i = 0, j = 0; bool overflow = false; - while (left._data[j].type != data_type::none && j < VALUE_DATA_LENGTH && !overflow) + while (j < VALUE_DATA_LENGTH && left._data[j].type != data_type::none && !overflow) { if (i >= VALUE_DATA_LENGTH) { @@ -204,7 +204,7 @@ namespace ink // Copy right values into new j = 0; - while (right._data[j].type != data_type::none && j < VALUE_DATA_LENGTH && !overflow) + while (j < VALUE_DATA_LENGTH && right._data[j].type != data_type::none && !overflow) { if (i >= VALUE_DATA_LENGTH) { @@ -222,10 +222,10 @@ namespace ink // Push everything into the stream j = 0; - while (left._data[j].type != data_type::none && j < VALUE_DATA_LENGTH) + while (j < VALUE_DATA_LENGTH && left._data[j].type != data_type::none) stream << left._data[j++]; j = 0; - while (right._data[j].type != data_type::none && j < VALUE_DATA_LENGTH) + while (j < VALUE_DATA_LENGTH && right._data[j].type != data_type::none) stream << right._data[j++]; // Pull out into a new string