From 0c4f00c6198246a2fe543cabdc3da3629a835cbe Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Mon, 12 Feb 2018 09:20:59 +0100 Subject: Use strnlen to determine string length strnlen stops scanning after reaching big_string_size and returns last position in the searched string. If a string terminator is not found then the big_string_size is returned hence the modification of the later size-checking condition. Signed-off-by: Szczepan Zalega --- misc.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/misc.cc b/misc.cc index eaaad50..59185f3 100644 --- a/misc.cc +++ b/misc.cc @@ -34,10 +34,10 @@ namespace misc { ::std::vector hex_string_to_byte(const char* hexString){ - const size_t big_string_size = 256; //arbitrary 'big' number - const size_t s_size = strlen(hexString); + const size_t big_string_size = 257; //arbitrary 'big' number + const size_t s_size = strnlen(hexString, big_string_size); const size_t d_size = s_size/2; - if (s_size%2!=0 || s_size>big_string_size){ + if (s_size%2!=0 || s_size>=big_string_size){ throw InvalidHexString(0); } auto data = ::std::vector(); -- cgit v1.2.3