Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
7315ce80
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看板
提交
7315ce80
编写于
6月 10, 2016
作者:
R
Rich Salz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Avoid memory leaks if options repeated.
Reviewed-by:
N
Andy Polyakov
<
appro@openssl.org
>
上级
6b360288
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
5 deletion
+14
-5
apps/s_client.c
apps/s_client.c
+14
-5
未找到文件。
apps/s_client.c
浏览文件 @
7315ce80
...
...
@@ -770,6 +770,15 @@ static const OPT_PAIR services[] = {
(o == OPT_4 || o == OPT_6 || o == OPT_HOST || o == OPT_PORT || o == OPT_CONNECT)
#define IS_UNIX_FLAG(o) (o == OPT_UNIX)
/* Free |*dest| and optionally set it to a copy of |source|. */
static
void
freeandcopy
(
char
**
dest
,
const
char
*
source
)
{
OPENSSL_free
(
*
dest
);
*
dest
=
NULL
;
if
(
source
!=
NULL
)
*
dest
=
OPENSSL_strdup
(
source
);
}
int
s_client_main
(
int
argc
,
char
**
argv
)
{
BIO
*
sbio
;
...
...
@@ -790,7 +799,7 @@ int s_client_main(int argc, char **argv)
char
*
mbuf
=
NULL
,
*
proxystr
=
NULL
,
*
connectstr
=
NULL
;
char
*
cert_file
=
NULL
,
*
key_file
=
NULL
,
*
chain_file
=
NULL
;
char
*
chCApath
=
NULL
,
*
chCAfile
=
NULL
,
*
host
=
NULL
;
char
*
port
=
BUF
_strdup
(
PORT
);
char
*
port
=
OPENSSL
_strdup
(
PORT
);
char
*
inrand
=
NULL
;
char
*
passarg
=
NULL
,
*
pass
=
NULL
,
*
vfyCApath
=
NULL
,
*
vfyCAfile
=
NULL
;
char
*
sess_in
=
NULL
,
*
sess_out
=
NULL
,
*
crl_file
=
NULL
,
*
p
;
...
...
@@ -921,15 +930,15 @@ int s_client_main(int argc, char **argv)
#endif
case
OPT_HOST
:
connect_type
=
use_inet
;
host
=
OPENSSL_strdup
(
opt_arg
());
freeandcopy
(
&
host
,
opt_arg
());
break
;
case
OPT_PORT
:
connect_type
=
use_inet
;
port
=
OPENSSL_strdup
(
opt_arg
());
freeandcopy
(
&
port
,
opt_arg
());
break
;
case
OPT_CONNECT
:
connect_type
=
use_inet
;
connectstr
=
opt_arg
(
);
freeandcopy
(
&
connectstr
,
opt_arg
()
);
break
;
case
OPT_PROXY
:
proxystr
=
opt_arg
();
...
...
@@ -939,7 +948,7 @@ int s_client_main(int argc, char **argv)
case
OPT_UNIX
:
connect_type
=
use_unix
;
socket_family
=
AF_UNIX
;
host
=
OPENSSL_strdup
(
opt_arg
());
freeandcopy
(
&
host
,
opt_arg
());
break
;
#endif
case
OPT_XMPPHOST
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录