Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
7dac5f8f
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,发现更多精彩内容 >>
提交
7dac5f8f
编写于
5月 10, 2020
作者:
V
vit9696
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
OcBootManagementLib: Fix panic expansion and zero shrinking
上级
eece2bef
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
24 addition
and
19 deletion
+24
-19
Library/OcBootManagementLib/ApplePanic.c
Library/OcBootManagementLib/ApplePanic.c
+24
-19
未找到文件。
Library/OcBootManagementLib/ApplePanic.c
浏览文件 @
7dac5f8f
...
...
@@ -244,12 +244,12 @@ OcReadApplePanicLog (
VOID
*
Value
;
UINTN
ValueSize
;
CHAR16
VariableName
[
32
];
VOID
*
PanicData
;
VOID
*
TmpData
;
UINTN
PanicDataSize
;
UINTN
TmpDataSize
;
VOID
*
PanicData
;
Panic
Data
=
NULL
;
Panic
DataSize
=
0
;
Tmp
Data
=
NULL
;
Tmp
DataSize
=
0
;
for
(
Index
=
0
;
Index
<
1024
;
++
Index
)
{
UnicodeSPrint
(
...
...
@@ -265,27 +265,26 @@ OcReadApplePanicLog (
if
(
ValueSize
==
0
)
{
FreePool
(
Value
);
Status
=
EFI_NOT_FOUND
;
break
;
}
TmpData
=
ReallocatePool
(
PanicDataSize
,
PanicDataSize
+
ValueSize
,
Panic
Data
);
TmpData
=
ReallocatePool
(
TmpDataSize
,
TmpDataSize
+
ValueSize
,
Tmp
Data
);
if
(
TmpData
==
NULL
)
{
FreePool
(
Value
);
if
(
Panic
Data
!=
NULL
)
{
FreePool
(
Panic
Data
);
if
(
Tmp
Data
!=
NULL
)
{
FreePool
(
Tmp
Data
);
}
return
NULL
;
}
CopyMem
(
(
UINT8
*
)
PanicData
+
Panic
DataSize
,
(
UINT8
*
)
TmpData
+
Tmp
DataSize
,
Value
,
ValueSize
);
FreePool
(
Value
);
Panic
DataSize
+=
ValueSize
;
Tmp
DataSize
+=
ValueSize
;
}
if
(
Index
==
0
)
{
...
...
@@ -298,19 +297,25 @@ OcReadApplePanicLog (
//
// We have a kernel panic now.
//
ASSERT
(
Panic
Data
!=
NULL
);
ASSERT
(
Panic
DataSize
>
0
);
ASSERT
(
Tmp
Data
!=
NULL
);
ASSERT
(
Tmp
DataSize
>
0
);
TmpData
=
PanicUnpack
(
PanicData
,
PanicDataSize
,
&
Panic
DataSize
);
FreePool
(
Panic
Data
);
PanicData
=
PanicUnpack
(
TmpData
,
TmpDataSize
,
&
Tmp
DataSize
);
FreePool
(
Tmp
Data
);
if
(
PanicData
!=
NULL
)
{
//
// Truncate trailing zeroes.
//
TmpDataSize
=
AsciiStrLen
(
PanicData
);
TmpData
=
PanicExpand
(
PanicData
,
TmpDataSize
,
&
TmpDataSize
);
if
(
TmpData
!=
NULL
)
{
PanicData
=
PanicExpand
(
TmpData
,
PanicDataSize
,
&
PanicDataSize
);
}
else
{
FreePool
(
PanicData
);
PanicData
=
TmpData
;
}
}
*
PanicSize
=
(
UINT32
)
Panic
DataSize
;
*
PanicSize
=
(
UINT32
)
Tmp
DataSize
;
return
TmpData
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录