From 5b856423d1acff8a06f40cb02732099cea25ccbb Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Thu, 12 Mar 2026 19:35:36 +0100 Subject: [PATCH] fix: extractAlloc should correctly handle optional values that are null --- src/cbor.zig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cbor.zig b/src/cbor.zig index f545292..329b256 100644 --- a/src/cbor.zig +++ b/src/cbor.zig @@ -1173,6 +1173,10 @@ fn GenericExtractorAlloc(T: type) type { else => extractError(T), }, .optional => |opt_info| { + if (try matchNull(iter)) { + self.dest.* = null; + return true; + } var nested: opt_info.child = undefined; const extractor = GenericExtractorAlloc(opt_info.child).init(&nested, self.allocator); if (try extractor.extract(iter)) {