From a6cf6c4069cfe2cc9eaf4ebe89b825b858a9af0f Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Fri, 29 Oct 2021 23:35:06 -0700 Subject: [PATCH] [Bun.js] Fix silly oversight with fetch implementation --- src/javascript/jsc/webcore/response.zig | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/javascript/jsc/webcore/response.zig b/src/javascript/jsc/webcore/response.zig index 16f3318b9e..8a5a0c1c10 100644 --- a/src/javascript/jsc/webcore/response.zig +++ b/src/javascript/jsc/webcore/response.zig @@ -430,18 +430,21 @@ pub const Fetch = struct { } var url_zig_str = ZigString.init(""); + JSValue.fromRef(arguments[0]).toZigString(&url_zig_str, VirtualMachine.vm.global); var url_str = url_zig_str.slice(); + if (url_str.len == 0) { const fetch_error = fetch_error_blank_url; return JSPromise.rejectedPromiseValue(VirtualMachine.vm.global, ZigString.init(fetch_error).toErrorInstance(VirtualMachine.vm.global)).asRef(); } - var dealloc_url_str = false; if (url_str[0] == '/') { url_str = strings.append(getAllocator(ctx), VirtualMachine.vm.bundler.options.origin.origin, url_str) catch unreachable; - dealloc_url_str = true; + } else { + url_str = getAllocator(ctx).dupe(u8, url_str) catch unreachable; } - defer if (dealloc_url_str) getAllocator(ctx).free(url_str); + + defer getAllocator(ctx).free(url_str); var http_client = HTTPClient.init(getAllocator(ctx), .GET, ZigURL.parse(url_str), .{}, "");