Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
8015a8c7
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
接近 2 年 前同步成功
通知
1
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看板
提交
8015a8c7
编写于
4月 22, 2010
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Don't sanitize raw table data
That part is performed by individual table sanitize.
上级
c293581e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
6 deletion
+9
-6
src/hb-open-file-private.hh
src/hb-open-file-private.hh
+9
-6
未找到文件。
src/hb-open-file-private.hh
浏览文件 @
8015a8c7
...
@@ -49,10 +49,9 @@ typedef struct TableDirectory
...
@@ -49,10 +49,9 @@ typedef struct TableDirectory
{
{
static
inline
unsigned
int
get_size
()
{
return
sizeof
(
TableDirectory
);
}
static
inline
unsigned
int
get_size
()
{
return
sizeof
(
TableDirectory
);
}
inline
bool
sanitize
(
SANITIZE_ARG_DEF
,
const
void
*
base
)
{
inline
bool
sanitize
(
SANITIZE_ARG_DEF
)
{
TRACE_SANITIZE
();
TRACE_SANITIZE
();
return
SANITIZE_SELF
()
&&
SANITIZE
(
tag
)
&&
return
SANITIZE_SELF
();
SANITIZE_MEM
(
CharP
(
base
)
+
(
unsigned
long
)
offset
,
length
);
}
}
Tag
tag
;
/* 4-byte identifier. */
Tag
tag
;
/* 4-byte identifier. */
...
@@ -109,12 +108,16 @@ typedef struct OffsetTable
...
@@ -109,12 +108,16 @@ typedef struct OffsetTable
inline
unsigned
int
get_face_count
(
void
)
const
{
return
1
;
}
inline
unsigned
int
get_face_count
(
void
)
const
{
return
1
;
}
public:
public:
inline
bool
sanitize
(
SANITIZE_ARG_DEF
,
const
void
*
base
)
{
inline
bool
sanitize
(
SANITIZE_ARG_DEF
,
void
*
base
)
{
TRACE_SANITIZE
();
TRACE_SANITIZE
();
if
(
!
(
SANITIZE_SELF
()
&&
SANITIZE_ARRAY
(
tableDir
,
TableDirectory
::
get_size
(),
numTables
)))
return
false
;
if
(
!
(
SANITIZE_SELF
()
&&
SANITIZE_ARRAY
(
tableDir
,
TableDirectory
::
get_size
(),
numTables
)))
return
false
;
return
true
;
/* No need to check tables individually since we don't sanitize the
* referenced table, just the table directory. Code retaind to make
* sure TableDirectory has a baseless sanitize(). */
unsigned
int
count
=
numTables
;
unsigned
int
count
=
numTables
;
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
if
(
!
SANITIZE
_BASE
(
tableDir
[
i
],
base
))
if
(
!
SANITIZE
(
tableDir
[
i
]
))
return
false
;
return
false
;
return
true
;
return
true
;
}
}
...
@@ -200,7 +203,7 @@ struct OpenTypeFontFile
...
@@ -200,7 +203,7 @@ struct OpenTypeFontFile
inline
const
char
*
get_table_data
(
const
OpenTypeTable
&
table
)
const
inline
const
char
*
get_table_data
(
const
OpenTypeTable
&
table
)
const
{
{
if
(
HB_UNLIKELY
(
table
.
offset
==
0
))
return
NULL
;
if
(
HB_UNLIKELY
(
table
.
offset
==
0
))
return
NULL
;
return
((
const
char
*
)
this
)
+
table
.
offset
;
return
CharP
(
this
)
+
table
.
offset
;
}
}
inline
bool
sanitize
(
SANITIZE_ARG_DEF
)
{
inline
bool
sanitize
(
SANITIZE_ARG_DEF
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录