ufp: write param: store uefi variable name as unicode string

This commit is contained in:
Gustave Monce
2026-04-11 16:51:31 +02:00
parent b7439d8e1a
commit e2ffcb7d78
@@ -30,9 +30,9 @@ namespace UnifiedFlashingPlatform
{
byte[] ParamBuffer = new byte[540 + Data.Length];
/* 15..30 */ Buffer.BlockCopy(Guid.ToByteArray(), 0, ParamBuffer, 0, 16); // TODO: Check validity of the encoding
/* 31..34 */ Buffer.BlockCopy(BigEndian.GetBytes(Name.Length, 4), 0, ParamBuffer, 16, 4);
/* 35.. */ Buffer.BlockCopy(Encoding.ASCII.GetBytes(Name), 0, ParamBuffer, 20, Math.Min(512, Name.Length)); // 512 Max Size for name
/* 15..30 */ Buffer.BlockCopy(Guid.ToByteArray(), 0, ParamBuffer, 0, 16);
/* 31..34 */ Buffer.BlockCopy(BigEndian.GetBytes(Name.Length * 2, 4), 0, ParamBuffer, 16, 4);
/* 35.. */ Buffer.BlockCopy(Encoding.Unicode.GetBytes(Name), 0, ParamBuffer, 20, Math.Min(512, Name.Length * 2)); // 256 Max Size for name (unicode)
/* 547..550 */ Buffer.BlockCopy(BigEndian.GetBytes(Attributes, 4), 0, ParamBuffer, 532, 4);
/* 551..554 */ Buffer.BlockCopy(BigEndian.GetBytes(Data.Length, 4), 0, ParamBuffer, 536, 4);
/* 555.. */ Buffer.BlockCopy(Data, 0, ParamBuffer, 540, Data.Length);