mirror of
https://github.com/openssl/openssl.git
synced 2025-02-23 14:42:15 +08:00
Fix segfault in openssl app called with no args.
This is a result of removal of interactive mode. Redirected it to now use 'openssl help'. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12164)
This commit is contained in:
parent
24b6261e5b
commit
b75f08cb13
@ -308,6 +308,13 @@ int help_main(int argc, char **argv)
|
||||
char *prog;
|
||||
HELP_CHOICE o;
|
||||
DISPLAY_COLUMNS dc;
|
||||
char *new_argv[3];
|
||||
|
||||
if (argc == 0) {
|
||||
new_argv[0] = "help";
|
||||
new_argv[1] = NULL;
|
||||
return do_cmd(prog_init(), 1, new_argv);
|
||||
}
|
||||
|
||||
prog = opt_init(argc, argv, help_options);
|
||||
while ((o = opt_next()) != OPT_hEOF) {
|
||||
@ -323,8 +330,6 @@ int help_main(int argc, char **argv)
|
||||
}
|
||||
|
||||
if (opt_num_rest() == 1) {
|
||||
char *new_argv[3];
|
||||
|
||||
new_argv[0] = opt_rest()[0];
|
||||
new_argv[1] = "--help";
|
||||
new_argv[2] = NULL;
|
||||
|
25
test/recipes/20-test_app.t
Normal file
25
test/recipes/20-test_app.t
Normal file
@ -0,0 +1,25 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use OpenSSL::Test;
|
||||
|
||||
setup("test_app");
|
||||
|
||||
plan tests => 3;
|
||||
|
||||
ok(run(app(["openssl"])),
|
||||
"Run openssl app with no args");
|
||||
|
||||
ok(run(app(["openssl", "help"])),
|
||||
"Run openssl app with help");
|
||||
|
||||
ok(!run(app(["openssl", "-help"])),
|
||||
"Run openssl app with incorrect arg");
|
Loading…
Reference in New Issue
Block a user