Browse Source

free string in dtor

Dan Walmsley 6 years ago
parent
commit
8422543ac9
1 changed files with 9 additions and 2 deletions
  1. 9 2
      native/Avalonia.Native/src/OSX/AvnString.mm

+ 9 - 2
native/Avalonia.Native/src/OSX/AvnString.mm

@@ -18,14 +18,21 @@ public:
     FORWARD_IUNKNOWN()
     
     AvnStringImpl(NSString* string)
-    {
+    { 
         auto cstring = [string cStringUsingEncoding:NSUTF8StringEncoding];
         _length = (int)[string lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
         
-        _cstring = (const char*)malloc(_length);
+        _cstring = (const char*)malloc(_length + 5);
+        
+        memset((void*)_cstring, 0, _length + 5);
         memcpy((void*)_cstring, (void*)cstring, _length);
     }
     
+    virtual ~AvnStringImpl()
+    {
+        free((void*)_cstring);
+    }
+    
     virtual HRESULT Pointer(void**retOut) override
     {
         @autoreleasepool