Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
466b4383
O
OpenCorePKG_MOD
项目概览
btwise
/
OpenCorePKG_MOD
通知
26
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
OpenCorePKG_MOD
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
466b4383
编写于
10月 12, 2018
作者:
D
Download-Fritz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove "Hdr" structs introduced with the one-sized array hack.
上级
2527fc9c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
33 addition
and
36 deletion
+33
-36
Include/Library/OcMiscLib.h
Include/Library/OcMiscLib.h
+3
-5
Library/OcDevicePropertyLib/OcDevicePropertyLib.c
Library/OcDevicePropertyLib/OcDevicePropertyLib.c
+24
-25
Library/OcMiscLib/SetPlatformData.c
Library/OcMiscLib/SetPlatformData.c
+6
-6
未找到文件。
Include/Library/OcMiscLib.h
浏览文件 @
466b4383
...
...
@@ -17,11 +17,9 @@
// PLATFORM_DATA_HEADER
typedef
struct
{
struct
{
CHAR16
Reserved
[
8
];
UINT32
KeySize
;
UINT32
DataSize
;
}
Hdr
;
CHAR16
Reserved
[
8
];
UINT32
KeySize
;
UINT32
DataSize
;
}
PLATFORM_DATA_HEADER
;
// Base64Decode
...
...
Library/OcDevicePropertyLib/OcDevicePropertyLib.c
浏览文件 @
466b4383
...
...
@@ -92,10 +92,10 @@ typedef struct {
)
#define EFI_DEVICE_PATH_PROPERTY_SIZE(Property) \
((Property)->Name->
Hdr.Size + (Property)->Value->Hdr.
Size)
((Property)->Name->
Size + (Property)->Value->
Size)
#define EFI_DEVICE_PATH_PROPERTY_VALUE_SIZE(Property) \
((Property)->Value->
Hdr.Size - sizeof ((Property)->Value->Hdr
))
((Property)->Value->
Size - sizeof (*(Property)->Value
))
#define NEXT_EFI_DEVICE_PATH_PROPERTY(Property) \
(EFI_DEVICE_PATH_PROPERTY *)( \
...
...
@@ -384,7 +384,7 @@ DppDbSetProperty (
Property
=
InternalGetProperty
(
Name
,
Node
);
if
(
Property
!=
NULL
)
{
if
(
Property
->
Value
->
Hdr
.
Size
==
Size
)
{
if
(
Property
->
Value
->
Size
==
Size
)
{
Result
=
CompareMem
((
VOID
*
)
&
Property
->
Value
->
Data
,
Value
,
Size
);
if
(
Result
==
0
)
{
...
...
@@ -408,12 +408,12 @@ DppDbSetProperty (
Status
=
EFI_OUT_OF_RESOURCES
;
if
(
Property
!=
NULL
)
{
PropertyNameSize
=
(
StrSize
(
Name
)
+
sizeof
(
PropertyData
->
Hdr
));
PropertyNameSize
=
(
StrSize
(
Name
)
+
sizeof
(
*
PropertyData
));
PropertyData
=
AllocateZeroPool
(
PropertyNameSize
);
Property
->
Name
=
PropertyData
;
if
(
PropertyData
!=
NULL
)
{
PropertyDataSize
=
(
Size
+
sizeof
(
PropertyData
->
Hdr
));
PropertyDataSize
=
(
Size
+
sizeof
(
*
PropertyData
));
PropertyData
=
AllocateZeroPool
(
PropertyDataSize
);
Property
->
Value
=
PropertyData
;
...
...
@@ -422,11 +422,11 @@ DppDbSetProperty (
StrCpyS
((
CHAR16
*
)
&
Property
->
Name
->
Data
,
PropertyNameSize
/
sizeof
(
CHAR16
),
Name
);
Property
->
Name
->
Hdr
.
Size
=
(
UINT32
)
PropertyNameSize
;
Property
->
Name
->
Size
=
(
UINT32
)
PropertyNameSize
;
CopyMem
((
VOID
*
)
&
Property
->
Value
->
Data
,
(
VOID
*
)
Value
,
Size
);
Property
->
Value
->
Hdr
.
Size
=
(
UINT32
)
PropertyDataSize
;
Property
->
Value
->
Size
=
(
UINT32
)
PropertyDataSize
;
InsertTailList
(
&
Node
->
Hdr
.
Properties
,
&
Property
->
Link
);
...
...
@@ -548,7 +548,7 @@ DppDbGetPropertyBuffer (
NodeWalker
=
PROPERTY_NODE_FROM_LIST_ENTRY
(
GetFirstNode
(
Nodes
));
Result
=
IsNull
(
Nodes
,
&
NodeWalker
->
Hdr
.
Link
);
BufferSize
=
sizeof
(
Buffer
->
Hd
r
);
BufferSize
=
sizeof
(
*
Buffe
r
);
NumberOfNodes
=
0
;
while
(
!
Result
)
{
...
...
@@ -582,9 +582,9 @@ DppDbGetPropertyBuffer (
Status
=
EFI_BUFFER_TOO_SMALL
;
if
(
!
Result
)
{
Buffer
->
Hdr
.
Size
=
(
UINT32
)
BufferSize
;
Buffer
->
Hdr
.
MustBe1
=
1
;
Buffer
->
Hdr
.
NumberOfNodes
=
NumberOfNodes
;
Buffer
->
Size
=
(
UINT32
)
BufferSize
;
Buffer
->
MustBe1
=
1
;
Buffer
->
NumberOfNodes
=
NumberOfNodes
;
NodeWalker
=
PROPERTY_NODE_FROM_LIST_ENTRY
(
GetFirstNode
(
Nodes
)
...
...
@@ -619,19 +619,18 @@ DppDbGetPropertyBuffer (
CopyMem
(
BufferPtr
,
(
VOID
*
)
Property
->
Name
,
(
UINTN
)
Property
->
Name
->
Hdr
.
Size
(
UINTN
)
Property
->
Name
->
Size
);
CopyMem
(
(
VOID
*
)((
UINTN
)
BufferPtr
+
(
UINTN
)
Property
->
Name
->
Hdr
.
Size
),
(
VOID
*
)((
UINTN
)
BufferPtr
+
(
UINTN
)
Property
->
Name
->
Size
),
Property
->
Value
,
(
UINTN
)
Property
->
Value
->
Hdr
.
Size
(
UINTN
)
Property
->
Value
->
Size
);
BufferPtr
=
(
VOID
*
)(
(
UINTN
)
BufferPtr
+
Property
->
Name
->
Hdr
.
Size
+
Property
->
Value
->
Hdr
.
Size
+
Property
->
Name
->
Size
+
Property
->
Value
->
Size
);
BufferSize
+=
EFI_DEVICE_PATH_PROPERTY_SIZE
(
Property
);
...
...
@@ -759,12 +758,12 @@ InternalReadEfiVariableProperties (
BufferSize
-=
DataSize
;
}
if
(
Buffer
->
Hdr
.
Size
!=
BufferSize
)
{
if
(
Buffer
->
Size
!=
BufferSize
)
{
gBS
->
FreePool
((
VOID
*
)
Buffer
);
Status
=
EFI_NOT_FOUND
;
}
else
if
(
EFI_ERROR
(
Status
))
{
if
((
Buffer
->
Hdr
.
MustBe1
==
1
)
&&
(
Buffer
->
Hdr
.
NumberOfNodes
>
0
))
{
if
((
Buffer
->
MustBe1
==
1
)
&&
(
Buffer
->
NumberOfNodes
>
0
))
{
BufferNode
=
&
Buffer
->
Nodes
[
0
];
NumberOfNodes
=
0
;
...
...
@@ -773,11 +772,11 @@ InternalReadEfiVariableProperties (
if
(
BufferNode
->
Hdr
.
NumberOfProperties
>
0
)
{
NameData
=
(
EFI_DEVICE_PATH_PROPERTY_DATA
*
)(
(
UINTN
)
BufferNode
+
DataSize
+
sizeof
(
Buffer
->
Hd
r
)
(
UINTN
)
BufferNode
+
DataSize
+
sizeof
(
*
Buffe
r
)
);
ValueData
=
(
EFI_DEVICE_PATH_PROPERTY_DATA
*
)(
(
UINTN
)
NameData
+
NameData
->
Hdr
.
Size
(
UINTN
)
NameData
+
NameData
->
Size
);
Index
=
0
;
...
...
@@ -789,20 +788,20 @@ InternalReadEfiVariableProperties (
(
CHAR16
*
)
&
NameData
->
Data
,
(
VOID
*
)
&
ValueData
->
Data
,
(
UINTN
)(
ValueData
->
Hdr
.
Size
-
sizeof
(
ValueData
->
Hdr
.
Size
)
ValueData
->
Size
-
sizeof
(
ValueData
->
Size
)
)
);
++
Index
;
NameData
=
(
EFI_DEVICE_PATH_PROPERTY_DATA
*
)(
(
UINTN
)
ValueData
+
ValueData
->
Hdr
.
Size
(
UINTN
)
ValueData
+
ValueData
->
Size
);
ValueData
=
(
EFI_DEVICE_PATH_PROPERTY_DATA
*
)(
(
UINTN
)
ValueData
+
ValueData
->
Hdr
.
Size
+
NameData
->
Hdr
.
Size
(
UINTN
)
ValueData
+
ValueData
->
Size
+
NameData
->
Size
);
}
while
(
Index
<
BufferNode
->
Hdr
.
NumberOfProperties
);
}
...
...
@@ -812,7 +811,7 @@ InternalReadEfiVariableProperties (
BufferNode
=
(
EFI_DEVICE_PATH_PROPERTY_BUFFER_NODE
*
)(
(
UINTN
)
BufferNode
+
(
UINTN
)
BufferNode
->
Hdr
.
Size
);
}
while
(
NumberOfNodes
<
Buffer
->
Hdr
.
NumberOfNodes
);
}
while
(
NumberOfNodes
<
Buffer
->
NumberOfNodes
);
}
gBS
->
FreePool
((
VOID
*
)
Buffer
);
...
...
Library/OcMiscLib/SetPlatformData.c
浏览文件 @
466b4383
...
...
@@ -70,18 +70,18 @@ SetPlatformData (
if
(
!
EFI_ERROR
(
Status
))
{
KeySize
=
(
UINT32
)(
AsciiStrSize
(
Key
)
*
(
sizeof
(
CHAR16
)));
Entry
=
AllocateZeroPool
(
DataSize
+
sizeof
(
Entry
->
Hdr
)
+
KeySize
);
Entry
=
AllocateZeroPool
(
DataSize
+
sizeof
(
*
Entry
)
+
KeySize
);
Status
=
EFI_OUT_OF_RESOURCES
;
if
(
Entry
)
{
Entry
->
Hdr
.
KeySize
=
KeySize
;
Entry
->
Hdr
.
DataSize
=
DataSize
;
Entry
->
KeySize
=
KeySize
;
Entry
->
DataSize
=
DataSize
;
DataString
=
NULL
;
OcAsciiStrToUnicode
(
Key
,
(
CHAR16
*
)(((
UINTN
)
Entry
)
+
sizeof
(
Entry
->
Hdr
)),
0
);
OcAsciiStrToUnicode
(
Key
,
(
CHAR16
*
)(((
UINTN
)
Entry
)
+
sizeof
(
*
Entry
)),
0
);
CopyMem
((
VOID
*
)(((
UINTN
)
Entry
)
+
sizeof
(
Entry
->
Hdr
)
+
Entry
->
Hdr
.
KeySize
),
Data
,
(
UINTN
)
Entry
->
Hdr
.
DataSize
);
CopyMem
((
VOID
*
)(((
UINTN
)
Entry
)
+
sizeof
(
*
Entry
)
+
Entry
->
KeySize
),
Data
,
(
UINTN
)
Entry
->
DataSize
);
Status
=
DataHub
->
LogData
(
DataHub
,
...
...
@@ -89,7 +89,7 @@ SetPlatformData (
&
gApplePlatformProducerNameGuid
,
EFI_DATA_RECORD_CLASS_DATA
,
Entry
,
(
sizeof
(
Entry
->
Hdr
)
+
Entry
->
Hdr
.
KeySize
+
Entry
->
Hdr
.
DataSize
)
(
sizeof
(
*
Entry
)
+
Entry
->
KeySize
+
Entry
->
DataSize
)
);
if
(
DataSize
<
32
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录