From 8422543ac90bdaece011b229f4d28d15090fc6ab Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Fri, 9 Aug 2019 11:51:45 +0100 Subject: [PATCH] free string in dtor --- native/Avalonia.Native/src/OSX/AvnString.mm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/native/Avalonia.Native/src/OSX/AvnString.mm b/native/Avalonia.Native/src/OSX/AvnString.mm index 7b6f4c0a3e..b62fe8a968 100644 --- a/native/Avalonia.Native/src/OSX/AvnString.mm +++ b/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