authorgravatar for m.rosowski1@wp.plMikołaj Rosowski <m.rosowski1@wp.pl> 2026-04-17 16:55:26+02:00
committergravatar for m.rosowski1@wp.plMikołaj Rosowski <m.rosowski1@wp.pl> 2026-04-17 22:33:17+02:00
log7020c9e4a9f340bb390f13b27aef32450d165310
treec6f1cb8a4273945a1ce6f0a823f8c585eac7e866
parent0473ddb1a7f94c3af7ddfd26cf714614c63fe314

std.os.uefi: pass null terminator in `(un)installMultipleProtocolInterfaces`


1 files changed, 6 insertions(+), 3 deletions(-)

lib/std/os/uefi/tables/boot_services.zig+6-3
...@@ -1236,6 +1236,7 @@ fn protocolInterfaces(...@@ -1236,6 +1236,7 @@ fn protocolInterfaces(
1236 @TypeOf(interfaces),1236 @TypeOf(interfaces),
1237 ) = undefined;1237 ) = undefined;
1238 result[0] = handle_arg;1238 result[0] = handle_arg;
1239 result[result.len - 1] = null;
12391240
1240 comptime var idx: usize = 1;1241 comptime var idx: usize = 1;
1241 inline for (interfaces) |interface| {1242 inline for (interfaces) |interface| {
...@@ -1270,13 +1271,15 @@ fn ProtocolInterfaces(HandleType: type, Interfaces: type) type {...@@ -1270,13 +1271,15 @@ fn ProtocolInterfaces(HandleType: type, Interfaces: type) type {
1270 @compileError("expected tuple of protocol interfaces, got " ++ @typeName(Interfaces));1271 @compileError("expected tuple of protocol interfaces, got " ++ @typeName(Interfaces));
1271 const interfaces_info = interfaces_type_info.@"struct";1272 const interfaces_info = interfaces_type_info.@"struct";
12721273
1273 var tuple_types: [interfaces_info.fields.len * 2 + 1]type = undefined;1274 var tuple_types: [interfaces_info.fields.len * 2 + 2]type = undefined;
1274 tuple_types[0] = HandleType;1275 tuple_types[0] = HandleType;
1276 tuple_types[tuple_types.len - 1] = ?*const Guid;
1277
1275 var idx = 1;1278 var idx = 1;
1276 while (idx < tuple_types.len) : (idx += 2) {1279 while (idx < tuple_types.len - 1) : (idx += 2) {
1277 tuple_types[idx] = *const Guid;1280 tuple_types[idx] = *const Guid;
1278 tuple_types[idx + 1] = *const anyopaque;1281 tuple_types[idx + 1] = *const anyopaque;
1279 }1282 }
12801283
1281 return std.meta.Tuple(tuple_types[0..]);1284 return @Tuple(tuple_types[0..]);
1282}1285}