summaryrefslogtreecommitdiff
path: root/sql-common/client.c
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2017-12-18 17:15:48 +0400
committerSergey Vojtovich <svoj@mariadb.org>2017-12-19 19:10:54 +0400
commit2cd316911309e3db4007aa224f7874bfbeb14032 (patch)
tree53ffd4ab4d99f7ff37dfa31407c2199a222baf5c /sql-common/client.c
parented7e4b68ed59fb7c34dc06625dfe378e71d1e8a7 (diff)
downloadmariadb-git-2cd316911309e3db4007aa224f7874bfbeb14032.tar.gz
MDEV-14265 - RPMLint warning: shared-lib-calls-exit
find_type_or_exit() client helper did exit(1) on error, exit(1) moved to clients. mysql_read_default_options() did exit(1) on error, error is passed through and handled now. my_str_malloc_default() did exit(1) on error, replaced my_str_ allocator functions with normal my_malloc()/my_realloc()/my_free(). sql_connect.cc did many exit(1) on hash initialisation failure. Removed error check since my_hash_init() never fails. my_malloc() did exit(1) on error. Replaced with abort(). my_load_defaults() did exit(1) on error, replaced with return 2. my_load_defaults() still does exit(0) when invoked with --print-defaults.
Diffstat (limited to 'sql-common/client.c')
-rw-r--r--sql-common/client.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index ea686a79a1f..da18a0fdea1 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -1232,11 +1232,12 @@ void mysql_read_default_options(struct st_mysql_options *options,
options->max_allowed_packet= atoi(opt_arg);
break;
case OPT_protocol:
- if ((options->protocol= find_type(opt_arg, &sql_protocol_typelib,
+ if (options->protocol != UINT_MAX32 &&
+ (options->protocol= find_type(opt_arg, &sql_protocol_typelib,
FIND_TYPE_BASIC)) <= 0)
{
fprintf(stderr, "Unknown option to protocol: %s\n", opt_arg);
- exit(1);
+ options->protocol= UINT_MAX32;
}
break;
case OPT_shared_memory_base_name:
@@ -3133,6 +3134,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
my_free(mysql->options.my_cnf_file);
my_free(mysql->options.my_cnf_group);
mysql->options.my_cnf_file=mysql->options.my_cnf_group=0;
+ if (mysql->options.protocol == UINT_MAX32)
+ goto error;
}
/* Some empty-string-tests are done because of ODBC */