From 4171078568d432c19c0d1a32ccb65d1dc4275f9b Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Thu, 20 Aug 2026 15:21:59 -0700 Subject: [PATCH] fix crash in sync path of XHR --- src/browser/webapi/net/XMLHttpRequest.zig | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/browser/webapi/net/XMLHttpRequest.zig b/src/browser/webapi/net/XMLHttpRequest.zig index 46529ae1e..d5c403a1d 100644 --- a/src/browser/webapi/net/XMLHttpRequest.zig +++ b/src/browser/webapi/net/XMLHttpRequest.zig @@ -306,15 +306,15 @@ pub fn send(self: *XMLHttpRequest, body_: ?BodyInit, exec_: *const Execution) !v } } - // Held for abort() / open() / deinit; the error, shutdown and done - // callbacks clear it. - self._http_transfer = transfer; - if (comptime lp.IS_DEBUG) { log.debug(.http, "request start", .{ .method = self._method, .url = self._url, .source = "xhr" }); } if (self._async) { + // Held for abort() / open() / deinit; the error, shutdown and done + // callbacks clear it. + self._http_transfer = transfer; + transfer.submit() catch |err| { // don't releaseSelfRef, submit() has taken ownership and will call // our error callback @@ -332,7 +332,6 @@ pub fn send(self: *XMLHttpRequest, body_: ?BodyInit, exec_: *const Execution) !v }; defer resp.deinit(); - self._http_transfer = null; self._response_status = resp.status; self._response_url = self._url; self._response_len = resp.body.items.len;