Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
25a5b287
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
大约 1 年 前同步成功
通知
0
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
25a5b287
编写于
5月 10, 2019
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix sanitize fail of extension sublookups
Fixes
https://bugs.chromium.org/p/chromium/issues/detail?id=960331
上级
9c0c3589
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
2 deletion
+10
-2
src/hb-ot-layout-common.hh
src/hb-ot-layout-common.hh
+8
-2
src/hb-sanitize.hh
src/hb-sanitize.hh
+2
-0
test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5702671124791296
...rfuzz-testcase-minimized-harfbuzz_fuzzer-5702671124791296
+0
-0
未找到文件。
src/hb-ot-layout-common.hh
浏览文件 @
25a5b287
...
...
@@ -751,12 +751,18 @@ struct Lookup
if
(
unlikely
(
!
get_subtables
<
TSubTable
>
().
sanitize
(
c
,
this
,
get_type
())))
return_trace
(
false
);
if
(
unlikely
(
get_type
()
==
TSubTable
::
Extension
))
if
(
unlikely
(
get_type
()
==
TSubTable
::
Extension
&&
!
c
->
get_edit_count
()
))
{
/* The spec says all subtables of an Extension lookup should
* have the same type, which shall not be the Extension type
* itself (but we already checked for that).
* This is specially important if one has a reverse type! */
* This is specially important if one has a reverse type!
*
* We only do this if sanitizer edit_count is zero. Otherwise,
* some of the subtables might have become insane after they
* were sanity-checked by the edits of subsequent subtables.
* https://bugs.chromium.org/p/chromium/issues/detail?id=960331
*/
unsigned
int
type
=
get_subtable
<
TSubTable
>
(
0
).
u
.
extension
.
get_type
();
unsigned
int
count
=
get_subtable_count
();
for
(
unsigned
int
i
=
1
;
i
<
count
;
i
++
)
...
...
src/hb-sanitize.hh
浏览文件 @
25a5b287
...
...
@@ -211,6 +211,8 @@ struct hb_sanitize_context_t :
this
->
start
=
this
->
end
=
nullptr
;
}
unsigned
get_edit_count
()
{
return
edit_count
;
}
bool
check_range
(
const
void
*
base
,
unsigned
int
len
)
const
{
...
...
test/fuzzing/fonts/clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5702671124791296
0 → 100644
浏览文件 @
25a5b287
文件已添加
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录