summaryrefslogtreecommitdiff
path: root/storage/federatedx
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2019-11-22 14:30:13 +0300
committerAleksey Midenkov <midenok@gmail.com>2019-11-22 14:30:13 +0300
commit1d5f6a007339ce78471c125a9a5d5a73a5c664ff (patch)
tree09e296fcc70e71689623891a878a905d468770b3 /storage/federatedx
parent0076dce2c89248b6c0252ec4385879194f9aadbf (diff)
downloadmariadb-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.cc7
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;
/*