소스 검색

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 {