浏览代码

Fix memory management crash

was crashing with:

love(22523,0x700008ec3000) malloc: *** error for object 0x7ffeeb46d3e1: pointer being freed was not allocated
love(22523,0x700008ec3000) malloc: *** set a breakpoint in malloc_error_break to debug
James Robert 4 年之前
父节点
当前提交
181bad3922
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      src/macos/NSURLClient.mm

+ 3 - 1
src/macos/NSURLClient.mm

@@ -26,14 +26,16 @@ HTTPSClient::Reply NSURLClient::request(const HTTPSClient::Request &req)
 	NSURL *url = [NSURL URLWithString:@(req.url.c_str())];
 	NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
 
+	NSData *bodydata = nil;
 	switch(req.method)
 	{
 	case Request::GET:
 		[request setHTTPMethod:@"GET"];
 		break;
 	case Request::POST:
+		bodydata = [NSData dataWithBytesNoCopy:(void*) req.postdata.data() length:req.postdata.size() freeWhenDone:NO];
 		[request setHTTPMethod:@"POST"];
-		[request setHTTPBody:[NSData dataWithBytesNoCopy:(void*) req.postdata.data() length:req.postdata.size()]];
+		[request setHTTPBody:bodydata];
 		break;
 	}