Mystro256 7793bd7
commit 0f9f942a5bbe0ed9f07ea2e1fef90a7e2db768e5
Mystro256 7793bd7
Author: Paul Cornett <paulcor@users.noreply.github.com>
Mystro256 7793bd7
Date:   Fri Oct 2 09:14:06 2015 -0700
Mystro256 7793bd7
Mystro256 7793bd7
    Fix memory leak introduced in 8f29de52
Mystro256 7793bd7
    
Mystro256 7793bd7
    Also, use memcpy() instead of strcpy() since we already have the length,
Mystro256 7793bd7
    and use static_cast instead of reinterpret_cast.
Mystro256 7793bd7
Mystro256 7793bd7
diff --git a/src/gtk/dataobj.cpp b/src/gtk/dataobj.cpp
Mystro256 7793bd7
index 2d1f43c..df460d8 100644
Mystro256 7793bd7
--- a/src/gtk/dataobj.cpp
Mystro256 7793bd7
+++ b/src/gtk/dataobj.cpp
Mystro256 7793bd7
@@ -235,7 +235,7 @@ wxTextDataObject::GetAllFormats(wxDataFormat *formats,
Mystro256 7793bd7
 
Mystro256 7793bd7
 bool wxFileDataObject::GetDataHere(void *buf) const
Mystro256 7793bd7
 {
Mystro256 7793bd7
-    char* out = reinterpret_cast<char*>(buf);
Mystro256 7793bd7
+    char* out = static_cast<char*>(buf);
Mystro256 7793bd7
 
Mystro256 7793bd7
     for (size_t i = 0; i < m_filenames.GetCount(); i++)
Mystro256 7793bd7
     {
Mystro256 7793bd7
@@ -243,10 +243,11 @@ bool wxFileDataObject::GetDataHere(void *buf) const
Mystro256 7793bd7
         if (uri)
Mystro256 7793bd7
         {
Mystro256 7793bd7
             size_t const len = strlen(uri);
Mystro256 7793bd7
-            strcpy(out, uri);
Mystro256 7793bd7
+            memcpy(out, uri, len);
Mystro256 7793bd7
             out += len;
Mystro256 7793bd7
             *(out++) = '\r';
Mystro256 7793bd7
             *(out++) = '\n';
Mystro256 7793bd7
+            g_free(uri);
Mystro256 7793bd7
         }
Mystro256 7793bd7
     }
Mystro256 7793bd7
     *out = 0;