taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit a90b2e5154cc7fd317fe32ddc80873c3dd85c116
parent c90d5f93be8d2414022e8fa512871d163352d1ee
Author: Marc Stibane <marc@taler.net>
Date:   Fri, 14 Aug 2026 08:20:55 +0200

AI: copy the body before `req_create()

Diffstat:
MTalerWallet1/Quickjs/QuickDataTask.swift | 5++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/TalerWallet1/Quickjs/QuickDataTask.swift b/TalerWallet1/Quickjs/QuickDataTask.swift @@ -32,9 +32,8 @@ func request_create(userdata: Optional<UnsafeMutableRawPointer>, var request = URLRequest(url: url) request.httpMethod = method request.timeoutInterval = TimeInterval(timeoutMs) / 1000.0 - if let reqBody { // caller will deallocate the req_body after dataTask finish or cancel - let body = Data(bytesNoCopy: reqBody, count: Int(bodyLen), deallocator: .none) - request.httpBody = body + if let reqBody, bodyLen > 0 { // qtart frees req_body as soon as request_create returns, + request.httpBody = Data(bytes: reqBody, count: Int(bodyLen)) // thus we must copy it } if var ptr = requestHeaders { while let cString = ptr.pointee {