Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
7b65c329
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7b65c329
编写于
25年前
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix for a bug which meant encrypting BIOs sometimes wouldn't read the final
block.
上级
13066cee
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
3 deletion
+18
-3
CHANGES
CHANGES
+7
-0
crypto/evp/bio_enc.c
crypto/evp/bio_enc.c
+11
-3
未找到文件。
CHANGES
浏览文件 @
7b65c329
...
...
@@ -4,6 +4,13 @@
Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
*) Fix a horrible bug in enc_read() in crypto/evp/bio_enc.c: if the first data
read consists of only the final block it would not decrypted because
EVP_CipherUpdate() would correctly report zero bytes had been decrypted.
A misplaced 'break' also meant the decrypted final block might not be
copied until the next read.
[Steve Henson]
*) Initial support for DH_METHOD. Again based on RSA_METHOD. Also added
a few extra parameters to the DH structure: these will be useful if
for example we want the value of 'q' or implement X9.42 DH.
...
...
This diff is collapsed.
Click to expand it.
crypto/evp/bio_enc.c
浏览文件 @
7b65c329
...
...
@@ -184,9 +184,11 @@ static int enc_read(BIO *b, char *out, int outl)
ctx
->
ok
=
i
;
ctx
->
buf_off
=
0
;
}
else
else
{
ret
=
(
ret
==
0
)
?
i
:
ret
;
break
;
break
;
}
}
else
{
...
...
@@ -194,13 +196,19 @@ static int enc_read(BIO *b, char *out, int outl)
(
unsigned
char
*
)
ctx
->
buf
,
&
ctx
->
buf_len
,
(
unsigned
char
*
)
&
(
ctx
->
buf
[
8
]),
i
);
ctx
->
cont
=
1
;
/* Note: it is possible for EVP_CipherUpdate to
* decrypt zero bytes because this is or looks like
* the final block: if this happens we should retry
* and either read more data or decrypt the final
* block
*/
if
(
ctx
->
buf_len
==
0
)
continue
;
}
if
(
ctx
->
buf_len
<=
outl
)
i
=
ctx
->
buf_len
;
else
i
=
outl
;
if
(
i
<=
0
)
break
;
memcpy
(
out
,
ctx
->
buf
,
i
);
ret
+=
i
;
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部