浏览代码

Merge pull request #1475 from deltachat/fix-blob-creation

fix crashes on creating blobs
cyBerta 3 年之前
父节点
当前提交
3cb44904b6
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      DcCore/DcCore/DC/Wrapper.swift

+ 6 - 2
DcCore/DcCore/DC/Wrapper.swift

@@ -1107,14 +1107,18 @@ public class DcMsg {
         defer {
             ptrSize.deallocate()
         }
+
         guard let ccharPtr = dc_msg_get_webxdc_blob(messagePointer, filename, ptrSize) else {
             return Data()
         }
+        defer {
+            dc_str_unref(ccharPtr)
+        }
 
         let count = ptrSize.pointee
         let buffer = UnsafeBufferPointer<Int8>(start: ccharPtr, count: count)
-        dc_str_unref(ccharPtr)
-        return Data(buffer: buffer)
+        let data = Data(buffer: buffer)
+        return data
     }
 
     public func getWebxdcInfoJson() -> String {