diff options
Diffstat (limited to 'src/lib/ffi')
-rw-r--r-- | src/lib/ffi/ffi_mp.cpp | 2 | ||||
-rw-r--r-- | src/lib/ffi/ffi_util.h | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/ffi/ffi_mp.cpp b/src/lib/ffi/ffi_mp.cpp index 00ad786ab..0b55c1d69 100644 --- a/src/lib/ffi/ffi_mp.cpp +++ b/src/lib/ffi/ffi_mp.cpp @@ -63,7 +63,7 @@ int botan_mp_set_from_radix_str(botan_mp_t mp, const char* str, size_t radix) else return BOTAN_FFI_ERROR_NOT_IMPLEMENTED; - const uint8_t* bytes = reinterpret_cast<const uint8_t*>(str); + const uint8_t* bytes = Botan::cast_char_ptr_to_uint8(str); const size_t len = strlen(str); bn = Botan::BigInt::decode(bytes, len, base); diff --git a/src/lib/ffi/ffi_util.h b/src/lib/ffi/ffi_util.h index ae48ab01a..b52c319fe 100644 --- a/src/lib/ffi/ffi_util.h +++ b/src/lib/ffi/ffi_util.h @@ -176,19 +176,20 @@ int write_vec_output(uint8_t out[], size_t* out_len, const std::vector<uint8_t, inline int write_str_output(uint8_t out[], size_t* out_len, const std::string& str) { return write_output(out, out_len, - reinterpret_cast<const uint8_t*>(str.c_str()), + Botan::cast_char_ptr_to_uint8(str.data()), str.size() + 1); } inline int write_str_output(char out[], size_t* out_len, const std::string& str) { - return write_str_output(reinterpret_cast<uint8_t*>(out), out_len, str); + return write_str_output(Botan::cast_char_ptr_to_uint8(out), out_len, str); } inline int write_str_output(char out[], size_t* out_len, const std::vector<uint8_t>& str_vec) { - return write_output(reinterpret_cast<uint8_t*>(out), out_len, - reinterpret_cast<const uint8_t*>(str_vec.data()), + return write_output(Botan::cast_char_ptr_to_uint8(out), + out_len, + str_vec.data(), str_vec.size()); } |