浏览代码

use defer

B. Petersen 3 年之前
父节点
当前提交
8d1f64610c
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      DcCore/DcCore/DC/Wrapper.swift

+ 4 - 1
DcCore/DcCore/DC/Wrapper.swift

@@ -1107,14 +1107,17 @@ 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)
         let data = Data(buffer: buffer)
-        dc_str_unref(ccharPtr)
         return data
     }