From 148da7e6db13c1f56c068a246ff7ea390d98d6da Mon Sep 17 00:00:00 2001 From: Peter van Dijk Date: Fri, 17 Mar 2023 13:23:46 +0100 Subject: [PATCH] avoid char signedness trap --- ext/lmdb-safe/lmdb-safe.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/lmdb-safe/lmdb-safe.cc b/ext/lmdb-safe/lmdb-safe.cc index 083d0661b3..4a146feba4 100644 --- a/ext/lmdb-safe/lmdb-safe.cc +++ b/ext/lmdb-safe/lmdb-safe.cc @@ -42,7 +42,8 @@ namespace LMDBLS { size_t headersize = LS_MIN_HEADER_SIZE; - uint16_t numextra = (val[LS_NUMEXTRA_OFFSET] << 8) + val[LS_NUMEXTRA_OFFSET+1]; + unsigned char* tmp = (unsigned char*)val.data(); + uint16_t numextra = (tmp[LS_NUMEXTRA_OFFSET] << 8) + tmp[LS_NUMEXTRA_OFFSET+1]; headersize += numextra * LS_BLOCK_SIZE; -- 2.47.2