Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Libpng
提交
f5778c8f
T
Third Party Libpng
项目概览
OpenHarmony
/
Third Party Libpng
12 个月 前同步成功
通知
4
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Libpng
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f5778c8f
编写于
11月 25, 2015
作者:
J
John Bowler
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix error in handling of bad zlib CMINFO field
Signed-off-by:
N
John Bowler
<
jbowler@acm.org
>
上级
92ec30a3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
5 deletion
+6
-5
contrib/tools/pngfix.c
contrib/tools/pngfix.c
+6
-5
未找到文件。
contrib/tools/pngfix.c
浏览文件 @
f5778c8f
...
...
@@ -2221,7 +2221,7 @@ zlib_init(struct zlib *zlib, struct IDAT *idat, struct chunk *chunk,
/* These values are sticky across reset (in addition to the stuff in the
* first block, which is actually constant.)
*/
zlib
->
file_bits
=
16
;
zlib
->
file_bits
=
24
;
zlib
->
ok_bits
=
16
;
/* unset */
zlib
->
cksum
=
0
;
/* set when a checksum error is detected */
...
...
@@ -2304,10 +2304,12 @@ zlib_advance(struct zlib *zlib, png_uint_32 nbytes)
zlib
->
file_bits
=
file_bits
;
/* Check against the existing value - it may not need to be
* changed.
* changed. Note that a bogus file_bits is allowed through once,
* to see if it works, but the window_bits value is set to 15,
* the maximum.
*/
if
(
new_bits
==
0
)
/* no change */
zlib
->
window_bits
=
file_bits
;
zlib
->
window_bits
=
((
file_bits
>
15
)
?
15
:
file_bits
)
;
else
if
(
new_bits
!=
file_bits
)
/* rewrite required */
bIn
=
(
png_byte
)((
bIn
&
0xf
)
+
((
new_bits
-
8
)
<<
4
));
...
...
@@ -2328,8 +2330,7 @@ zlib_advance(struct zlib *zlib, png_uint_32 nbytes)
if
(
bIn
!=
b2
)
{
/* If the first byte wasn't changed this indicates an error in
* the checksum calculation; signal this by setting file_bits
* (not window_bits) to 0.
* the checksum calculation; signal this by setting 'cksum'.
*/
if
(
zlib
->
file_bits
==
zlib
->
window_bits
)
zlib
->
cksum
=
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录