aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-05-16 13:25:40 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:37:20 +0100
commit9fc94c1562dd69508d7483d236b352270e0d6e3b (patch)
tree386fc784564bf607440697362ec45a8837e06e94
parent4689998556b6190ab9333580725f796704e104f1 (diff)
downloadgcc-9fc94c1562dd69508d7483d236b352270e0d6e3b.zip
gcc-9fc94c1562dd69508d7483d236b352270e0d6e3b.tar.gz
gcc-9fc94c1562dd69508d7483d236b352270e0d6e3b.tar.bz2
gccrs: libproc_macro: Copy ffistring data from source
Data from source pointer were not copied correctly in the ffistring constructor. libgrust/ChangeLog: * libproc_macro/ffistring.cc (FFIString::make_ffistring): Add copy from source pointer. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
-rw-r--r--libgrust/libproc_macro/ffistring.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libgrust/libproc_macro/ffistring.cc b/libgrust/libproc_macro/ffistring.cc
index 1623bc9..06e4e81 100644
--- a/libgrust/libproc_macro/ffistring.cc
+++ b/libgrust/libproc_macro/ffistring.cc
@@ -41,7 +41,8 @@ FFIString::make_ffistring (const std::string &str)
FFIString
FFIString::make_ffistring (const unsigned char *data, std::uint64_t len)
{
- const unsigned char *inner = new unsigned char[len];
+ unsigned char *inner = new unsigned char[len];
+ std::memcpy (inner, data, len);
return {inner, len};
}