aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ffi
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ffi')
-rw-r--r--src/lib/ffi/ffi_mp.cpp2
-rw-r--r--src/lib/ffi/ffi_util.h9
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());
}