Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
3cd8547a
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看板
提交
3cd8547a
编写于
9月 20, 2013
作者:
B
Ben Laurie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Mix time into the pool to avoid repetition of the Android duplicated PID problem.
上级
7eef2b0c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
1 deletion
+21
-1
crypto/rand/md_rand.c
crypto/rand/md_rand.c
+21
-1
未找到文件。
crypto/rand/md_rand.c
浏览文件 @
3cd8547a
...
...
@@ -120,6 +120,7 @@
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include "e_os.h"
...
...
@@ -359,8 +360,12 @@ static int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo)
#ifndef GETPID_IS_MEANINGLESS
pid_t
curr_pid
=
getpid
();
#endif
time_t
curr_time
=
time
(
NULL
);
struct
timeval
tv
;
int
do_stir_pool
=
0
;
gettimeofday
(
&
tv
,
NULL
);
#ifdef PREDICT
if
(
rand_predictable
)
{
...
...
@@ -488,11 +493,26 @@ static int ssleay_rand_bytes(unsigned char *buf, int num, int pseudo)
#ifndef GETPID_IS_MEANINGLESS
if
(
curr_pid
)
/* just in the first iteration to save time */
{
if
(
!
MD_Update
(
&
m
,(
unsigned
char
*
)
&
curr_pid
,
sizeof
curr_pid
))
if
(
!
MD_Update
(
&
m
,(
unsigned
char
*
)
&
curr_pid
,
sizeof
curr_pid
))
goto
err
;
curr_pid
=
0
;
}
#endif
if
(
curr_time
)
/* just in the first iteration to save time */
{
if
(
!
MD_Update
(
&
m
,(
unsigned
char
*
)
&
curr_time
,
sizeof
curr_time
))
goto
err
;
curr_time
=
0
;
}
if
(
tv
.
tv_sec
)
/* just in the first iteration to save time */
{
if
(
!
MD_Update
(
&
m
,(
unsigned
char
*
)
&
tv
,
sizeof
tv
))
goto
err
;
tv
.
tv_sec
=
0
;
}
if
(
!
MD_Update
(
&
m
,
local_md
,
MD_DIGEST_LENGTH
))
goto
err
;
if
(
!
MD_Update
(
&
m
,(
unsigned
char
*
)
&
(
md_c
[
0
]),
sizeof
(
md_c
)))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录