Fix invalid std::vector access (visible with tests on hardened systems) From: Mattias Ellert Bug: https://github.com/scitokens/scitokens-cpp/pull/126 Bug: https://bugs.gentoo.org/922679 --- src/scitokens_internal.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/src/scitokens_internal.cpp +++ b/src/scitokens_internal.cpp @@ -978,9 +978,9 @@ bool scitokens::Validator::store_public_ec_key(const std::string &issuer, auto x_num = BN_num_bytes(x_bignum.get()); auto y_num = BN_num_bytes(y_bignum.get()); std::vector x_bin; - x_bin.reserve(x_num); + x_bin.resize(x_num); std::vector y_bin; - y_bin.reserve(y_num); + y_bin.resize(y_num); BN_bn2bin(x_bignum.get(), &x_bin[0]); BN_bn2bin(y_bignum.get(), &y_bin[0]); std::string x_str(reinterpret_cast(&x_bin[0]), x_num);