diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2019-11-22 14:30:13 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2019-11-22 14:30:13 +0300 |
commit | 1d5f6a007339ce78471c125a9a5d5a73a5c664ff (patch) | |
tree | 09e296fcc70e71689623891a878a905d468770b3 /storage/federatedx | |
parent | 0076dce2c89248b6c0252ec4385879194f9aadbf (diff) | |
download | mariadb-git-1d5f6a007339ce78471c125a9a5d5a73a5c664ff.tar.gz |
MDEV-21049 Segfault in create federatedx table with empty hostname
Use my_localhost instead of NULL for share->hostname.
Diffstat (limited to 'storage/federatedx')
-rw-r--r-- | storage/federatedx/ha_federatedx.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc index 74d547cb674..4a717eead20 100644 --- a/storage/federatedx/ha_federatedx.cc +++ b/storage/federatedx/ha_federatedx.cc @@ -798,12 +798,12 @@ static int parse_url(MEM_ROOT *mem_root, FEDERATEDX_SHARE *share, goto error; if (share->hostname[0] == '\0') - share->hostname= NULL; + share->hostname= strdup_root(mem_root, my_localhost); } if (!share->port) { - if (!share->hostname || strcmp(share->hostname, my_localhost) == 0) + if (0 == strcmp(share->hostname, my_localhost)) share->socket= (char *) MYSQL_UNIX_ADDR; else share->port= MYSQL_PORT; @@ -3385,8 +3385,7 @@ int ha_federatedx::create(const char *name, TABLE *table_arg, goto error; /* loopback socket connections hang due to LOCK_open mutex */ - if ((!tmp_share.hostname || !strcmp(tmp_share.hostname,my_localhost)) && - !tmp_share.port) + if (0 == strcmp(tmp_share.hostname, my_localhost) && !tmp_share.port) goto error; /* |