From 4d812f1e74da4b48000e9efe703566132bfb4ea6 Mon Sep 17 00:00:00 2001 From: dinisimys2018 Date: Mon, 30 Mar 2026 10:00:08 +0300 Subject: [PATCH] fix(browser-url): added errdefer for path --- src/browser/URL.zig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/browser/URL.zig b/src/browser/URL.zig index cc175e1e..ef75e9fa 100644 --- a/src/browser/URL.zig +++ b/src/browser/URL.zig @@ -47,9 +47,10 @@ pub fn resolve(allocator: Allocator, base: [:0]const u8, source_path: anytype, c if (source_path.len == 0) { return processResolved(allocator, base, opts); } - - var path: [:0]const u8 = if (comptime isNullTerminated(PT) and !opts.always_dupe) source_path else try allocator.dupeZ(u8, source_path); - + const path_needs_duping = comptime isNullTerminated(PT) or !opts.always_dupe; + var path: [:0]const u8 = if (path_needs_duping) try allocator.dupeZ(u8, source_path) else source_path; + errdefer if (path_needs_duping) allocator.free(path); + if (base.len == 0) { return processResolved(allocator, path, opts); }