aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-05-16 13:25:40 +0200
committerPhilip Herron <philip.herron@embecosm.com>2023-05-17 16:13:45 +0000
commit70c245e4e3e2c8c794266f0d025af501dbd947fd (patch)
treecad890cdd21f3184c88157d309509744a8f18723
parent668c220024905c71eceedc17a80266761a01ba7f (diff)
downloadgcc-70c245e4e3e2c8c794266f0d025af501dbd947fd.zip
gcc-70c245e4e3e2c8c794266f0d025af501dbd947fd.tar.gz
gcc-70c245e4e3e2c8c794266f0d025af501dbd947fd.tar.bz2
libproc_macro: Copy ffistring data from source
Data from source pointer were not copied correctly in the ffistring constructor. ChangeLog: * libgrust/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};
}