From 1f92b394e97ce13e49cce8838968c0dc848d0abb Mon Sep 17 00:00:00 2001 From: "Elijah M. Immer" Date: Fri, 14 Mar 2025 13:20:42 -0700 Subject: [PATCH] lib/std/http/Client.zig: Ignore empty proxy environment variables (#23223) This fixes #21032 by ignoring proxy environment variables that are empty. --- lib/std/http/Client.zig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/std/http/Client.zig b/lib/std/http/Client.zig index 86f29b4a08..ecc1893194 100644 --- a/lib/std/http/Client.zig +++ b/lib/std/http/Client.zig @@ -1241,10 +1241,14 @@ pub fn initDefaultProxies(client: *Client, arena: Allocator) !void { fn createProxyFromEnvVar(arena: Allocator, env_var_names: []const []const u8) !?*Proxy { const content = for (env_var_names) |name| { - break std.process.getEnvVarOwned(arena, name) catch |err| switch (err) { + const content = std.process.getEnvVarOwned(arena, name) catch |err| switch (err) { error.EnvironmentVariableNotFound => continue, else => |e| return e, }; + + if (content.len == 0) continue; + + break content; } else return null; const uri = Uri.parse(content) catch try Uri.parseAfterScheme("http", content);