From f8ee5f450b40f4dee560546af345738d87b24aca Mon Sep 17 00:00:00 2001 From: Bo Rydberg <2945606+bolry@users.noreply.github.com> Date: Thu, 8 Jan 2026 22:58:27 +0100 Subject: [PATCH] Make code base with tests compile under gcc-14 (#1254) * Make code base with tests compile under gcc-14 * Update buffer_descriptors.h Following the same style as non-tests headers have. E.g., include/etl/intrusive_list.h & include/etl/intrusive_forward_list.h --------- Co-authored-by: John Wellbelove --- include/etl/buffer_descriptors.h | 2 + test/test_base64_RFC2152_decoder.cpp | 43 +++++++++-------- test/test_base64_RFC3501_decoder.cpp | 47 ++++++++++--------- ...64_RFC4648_URL_decoder_with_no_padding.cpp | 44 ++++++++--------- ...ase64_RFC4648_URL_decoder_with_padding.cpp | 43 ++++++++--------- ...base64_RFC4648_decoder_with_no_padding.cpp | 46 +++++++++--------- ...st_base64_RFC4648_decoder_with_padding.cpp | 44 ++++++++--------- test/test_circular_iterator.cpp | 2 + test/test_map.cpp | 8 ++-- 9 files changed, 142 insertions(+), 137 deletions(-) diff --git a/include/etl/buffer_descriptors.h b/include/etl/buffer_descriptors.h index 02ff32a9..836769fc 100644 --- a/include/etl/buffer_descriptors.h +++ b/include/etl/buffer_descriptors.h @@ -99,7 +99,9 @@ namespace etl pointer data() const { assert(pdesc_item != ETL_NULLPTR); +#include "private/diagnostic_null_dereference_push.h" return pdesc_item->pbuffer; +#include "private/diagnostic_pop.h" } //********************************* diff --git a/test/test_base64_RFC2152_decoder.cpp b/test/test_base64_RFC2152_decoder.cpp index af6e1a87..d25f0ddf 100644 --- a/test/test_base64_RFC2152_decoder.cpp +++ b/test/test_base64_RFC2152_decoder.cpp @@ -379,15 +379,14 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; b64.decode_final(encoded[i].data(), encoded[i].size()); - #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -403,7 +402,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -411,7 +410,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -427,7 +426,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -452,7 +451,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -468,7 +467,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -493,7 +492,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -509,7 +508,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -517,7 +516,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -533,7 +532,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -541,7 +540,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -557,7 +556,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -582,7 +581,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -598,7 +597,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -639,7 +638,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -657,7 +656,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -673,7 +672,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -691,7 +690,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -707,7 +706,7 @@ namespace { codec_full_buffer b64; - for (size_t i = 4; i < 256; ++i) + for (size_t i = 4; i < input_data.size(); ++i) { b64.restart(); @@ -729,7 +728,7 @@ namespace b64.flush(); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(b64.begin(), b64.end()); #include "etl/private/diagnostic_pop.h" diff --git a/test/test_base64_RFC3501_decoder.cpp b/test/test_base64_RFC3501_decoder.cpp index 0e750518..e48af347 100644 --- a/test/test_base64_RFC3501_decoder.cpp +++ b/test/test_base64_RFC3501_decoder.cpp @@ -376,7 +376,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -384,7 +384,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -400,7 +400,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -408,7 +408,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -424,7 +424,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -449,7 +449,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -465,7 +465,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -490,7 +490,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -506,7 +506,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -514,7 +514,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -530,15 +530,15 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; b64.decode_final(encoded[i].begin(), encoded[i].end()); - + #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -554,7 +554,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -579,7 +579,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -595,7 +595,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -618,9 +618,9 @@ namespace CHECK_FALSE(received_final_block); b64.flush(); CHECK_TRUE(received_final_block); - + #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -636,7 +636,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -654,7 +654,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -670,7 +670,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -704,7 +704,7 @@ namespace { codec_full_buffer b64; - for (size_t i = 4; i < 256; ++i) + for (size_t i = 4; i < input_data.size(); ++i) { b64.restart(); @@ -725,8 +725,9 @@ namespace b64.flush(); + #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(b64.begin(), b64.end()); #include "etl/private/diagnostic_pop.h" diff --git a/test/test_base64_RFC4648_URL_decoder_with_no_padding.cpp b/test/test_base64_RFC4648_URL_decoder_with_no_padding.cpp index b2d3c01b..ad16041f 100644 --- a/test/test_base64_RFC4648_URL_decoder_with_no_padding.cpp +++ b/test/test_base64_RFC4648_URL_decoder_with_no_padding.cpp @@ -376,7 +376,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -384,7 +384,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -400,7 +400,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -408,7 +408,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -424,7 +424,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -449,7 +449,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -465,7 +465,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -490,7 +490,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -506,7 +506,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -514,7 +514,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -530,7 +530,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -538,7 +538,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -554,7 +554,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -579,7 +579,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -595,7 +595,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -620,7 +620,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -636,7 +636,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -654,7 +654,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -670,7 +670,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -688,7 +688,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -704,7 +704,7 @@ namespace { codec_full_buffer b64; - for (size_t i = 4; i < 256; ++i) + for (size_t i = 4; i < input_data.size(); ++i) { b64.restart(); @@ -726,7 +726,7 @@ namespace b64.flush(); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(b64.begin(), b64.end()); #include "etl/private/diagnostic_pop.h" diff --git a/test/test_base64_RFC4648_URL_decoder_with_padding.cpp b/test/test_base64_RFC4648_URL_decoder_with_padding.cpp index 77c990a3..5266d3c9 100644 --- a/test/test_base64_RFC4648_URL_decoder_with_padding.cpp +++ b/test/test_base64_RFC4648_URL_decoder_with_padding.cpp @@ -376,7 +376,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -384,7 +384,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -400,7 +400,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -408,7 +408,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -424,7 +424,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -447,9 +447,9 @@ namespace CHECK_FALSE(received_final_block); b64.flush(); CHECK_TRUE(received_final_block); - + #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -465,7 +465,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -490,7 +490,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -506,7 +506,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -514,7 +514,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -530,7 +530,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -554,7 +554,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -579,7 +579,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -595,7 +595,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -620,7 +620,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -636,7 +636,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -653,6 +653,7 @@ namespace b64.flush(); CHECK_TRUE(received_final_block); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); #include "etl/private/diagnostic_null_dereference_push.h" std::vector expected(input_data.begin(), input_data.begin() + i); std::vector actual(decoded_output); @@ -670,7 +671,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -688,7 +689,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -704,7 +705,7 @@ namespace { codec_full_buffer b64; - for (size_t i = 4; i < 256; ++i) + for (size_t i = 4; i < input_data.size(); ++i) { b64.restart(); @@ -726,7 +727,7 @@ namespace b64.flush(); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(b64.begin(), b64.end()); #include "etl/private/diagnostic_pop.h" diff --git a/test/test_base64_RFC4648_decoder_with_no_padding.cpp b/test/test_base64_RFC4648_decoder_with_no_padding.cpp index a87852f3..9c33aafa 100644 --- a/test/test_base64_RFC4648_decoder_with_no_padding.cpp +++ b/test/test_base64_RFC4648_decoder_with_no_padding.cpp @@ -376,15 +376,15 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; b64.decode_final(encoded[i].data(), encoded[i].size()); - + #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -400,7 +400,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -408,7 +408,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -424,7 +424,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -449,7 +449,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -465,7 +465,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -490,7 +490,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -506,7 +506,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -514,7 +514,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -530,7 +530,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -538,7 +538,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -554,7 +554,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -579,7 +579,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -595,7 +595,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -620,7 +620,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -636,7 +636,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -654,7 +654,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -670,7 +670,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -688,7 +688,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -704,7 +704,7 @@ namespace { codec_full_buffer b64; - for (size_t i = 4; i < 256; ++i) + for (size_t i = 4; i < input_data.size(); ++i) { b64.restart(); @@ -726,7 +726,7 @@ namespace b64.flush(); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(b64.begin(), b64.end()); #include "etl/private/diagnostic_pop.h" diff --git a/test/test_base64_RFC4648_decoder_with_padding.cpp b/test/test_base64_RFC4648_decoder_with_padding.cpp index 41e0a2ff..a16570d4 100644 --- a/test/test_base64_RFC4648_decoder_with_padding.cpp +++ b/test/test_base64_RFC4648_decoder_with_padding.cpp @@ -376,7 +376,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -384,7 +384,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -400,7 +400,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -408,7 +408,7 @@ namespace b64.decode_final(encoded[i].data(), encoded[i].size()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -424,7 +424,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -447,9 +447,9 @@ namespace CHECK_FALSE(received_final_block); b64.flush(); CHECK_TRUE(received_final_block); - + #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -465,7 +465,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -490,7 +490,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -506,7 +506,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -514,7 +514,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -530,7 +530,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -538,7 +538,7 @@ namespace b64.decode_final(encoded[i].begin(), encoded[i].end()); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -554,7 +554,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -579,7 +579,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -595,7 +595,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -620,7 +620,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -636,7 +636,7 @@ namespace { codec b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -670,7 +670,7 @@ namespace { codec_larger_buffer b64(callback); - for (size_t i = 0; i < 256; ++i) + for (size_t i = 0; i != input_data.size(); ++i) { decoded_output.clear(); received_final_block = false; @@ -688,7 +688,7 @@ namespace CHECK_TRUE(received_final_block); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(decoded_output); #include "etl/private/diagnostic_pop.h" @@ -704,7 +704,7 @@ namespace { codec_full_buffer b64; - for (size_t i = 4; i < 256; ++i) + for (size_t i = 4; i < input_data.size(); ++i) { b64.restart(); @@ -726,7 +726,7 @@ namespace b64.flush(); #include "etl/private/diagnostic_null_dereference_push.h" - std::vector expected(input_data.begin(), input_data.begin() + i); + std::vector expected(input_data.begin(), std::next(input_data.begin(), i)); std::vector actual(b64.begin(), b64.end()); #include "etl/private/diagnostic_pop.h" diff --git a/test/test_circular_iterator.cpp b/test/test_circular_iterator.cpp index 167af271..6b66cbe0 100644 --- a/test/test_circular_iterator.cpp +++ b/test/test_circular_iterator.cpp @@ -28,7 +28,9 @@ SOFTWARE. #include "unit_test_framework.h" #include +#include "etl/private/diagnostic_null_dereference_push.h" #include +#include "etl/private/diagnostic_pop.h" #include #include "etl/iterator.h" diff --git a/test/test_map.cpp b/test/test_map.cpp index b5ca6447..251e8408 100644 --- a/test/test_map.cpp +++ b/test/test_map.cpp @@ -1148,7 +1148,7 @@ namespace Data data(initial_data.begin(), initial_data.end()); Data::iterator it = data.find("3"); - CHECK(3 == it->second); + CHECK(data.end() != it && 3 == it->second); it = data.find("A"); CHECK(data.end() == it); @@ -1165,7 +1165,7 @@ namespace EMap data(initial_data.begin(), initial_data.end()); EMap::iterator it = data.find(Key("3")); - CHECK(3 == it->second); + CHECK(data.end() != it && 3 == it->second); it = data.find(Key("A")); CHECK(data.end() == it); @@ -1180,7 +1180,7 @@ namespace const Data data(initial_data.begin(), initial_data.end()); Data::const_iterator it = data.find("3"); - CHECK(3 == it->second); + CHECK(data.end() != it && 3 == it->second); it = data.find("A"); CHECK(data.end() == it); @@ -1197,7 +1197,7 @@ namespace const EMap data(initial_data.begin(), initial_data.end()); EMap::const_iterator it = data.find(Key("3")); - CHECK(3 == it->second); + CHECK(data.end() != it && 3 == it->second); it = data.find(Key("A")); CHECK(data.end() == it);