From 5a15066da3255ae5534c59fea6463228701ea9e7 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Tue, 2 Sep 2025 13:50:53 +0800 Subject: [PATCH] Don't panic if no certs are available https://github.com/lightpanda-io/browser/issues/982 --- src/http/Http.zig | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/http/Http.zig b/src/http/Http.zig index a82087bd..ebd1e476 100644 --- a/src/http/Http.zig +++ b/src/http/Http.zig @@ -331,8 +331,15 @@ fn loadCerts(allocator: Allocator, arena: Allocator) !c.curl_blob { try bundle.rescan(allocator); defer bundle.deinit(allocator); - var it = bundle.map.valueIterator(); const bytes = bundle.bytes.items; + if (bytes.len == 0) { + log.warn(.app, "No system certificates", .{}); + return .{ + .len = 0, + .flags = 0, + .data = bytes.ptr, + }; + } const encoder = std.base64.standard.Encoder; var arr: std.ArrayListUnmanaged(u8) = .empty; @@ -345,6 +352,7 @@ fn loadCerts(allocator: Allocator, arena: Allocator) !c.curl_blob { try arr.ensureTotalCapacity(arena, buffer_size); var writer = arr.writer(arena); + var it = bundle.map.valueIterator(); while (it.next()) |index| { const cert = try std.crypto.Certificate.der.Element.parse(bytes, index.*);