[gcc r14-7604] gccrs: libproc_macro: Copy ffistring data from source

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 17:44:29 GMT 2024


https://gcc.gnu.org/g:9fc94c1562dd69508d7483d236b352270e0d6e3b

commit r14-7604-g9fc94c1562dd69508d7483d236b352270e0d6e3b
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date:   Tue May 16 13:25:40 2023 +0200

    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>

Diff:
---
 libgrust/libproc_macro/ffistring.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libgrust/libproc_macro/ffistring.cc b/libgrust/libproc_macro/ffistring.cc
index 1623bc9899e..06e4e81dc24 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};
 }


More information about the Gcc-cvs mailing list