From 22d3f93b5205f32118fef11170203d85a6261fa7 Mon Sep 17 00:00:00 2001 From: stffabi Date: Fri, 29 Apr 2022 22:11:19 +0200 Subject: [PATCH] [v2, darwin] Initialize native variables on stack to prevent segfault (#1362) --- v2/internal/frontend/desktop/darwin/WailsContext.m | 4 ++-- v2/internal/frontend/desktop/darwin/frontend.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/v2/internal/frontend/desktop/darwin/WailsContext.m b/v2/internal/frontend/desktop/darwin/WailsContext.m index b3a953a7..8abc2ca3 100644 --- a/v2/internal/frontend/desktop/darwin/WailsContext.m +++ b/v2/internal/frontend/desktop/darwin/WailsContext.m @@ -397,8 +397,8 @@ const char *url = [urlSchemeTask.request.URL.absoluteString UTF8String]; const char *method = [urlSchemeTask.request.HTTPMethod UTF8String]; const char *headerJSON = ""; - const void *body; - int bodyLen; + const void *body = nil; + int bodyLen = 0; NSData *headers = [NSJSONSerialization dataWithJSONObject: urlSchemeTask.request.allHTTPHeaderFields options:0 error: nil]; if (headers) { diff --git a/v2/internal/frontend/desktop/darwin/frontend.go b/v2/internal/frontend/desktop/darwin/frontend.go index 1d0dbb75..e9e3e171 100644 --- a/v2/internal/frontend/desktop/darwin/frontend.go +++ b/v2/internal/frontend/desktop/darwin/frontend.go @@ -396,7 +396,7 @@ func processMessage(message *C.char) { //export processURLRequest func processURLRequest(ctx unsafe.Pointer, url *C.char, method *C.char, headers *C.char, body unsafe.Pointer, bodyLen C.int) { var goBody []byte - if bodyLen != 0 { + if body != nil && bodyLen != 0 { goBody = C.GoBytes(body, bodyLen) }