diff options
Diffstat (limited to 'sql/item_strfunc.cc')
-rw-r--r-- | sql/item_strfunc.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 56e3eb2cb5f..32913761301 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -1457,11 +1457,13 @@ String *Item_func_user::val_str(String *str) { THD *thd=current_thd; CHARSET_INFO *cs= default_charset(); - const char *host=thd->host ? thd->host : thd->ip ? thd->ip : ""; + const char *host= thd->host_or_ip; + uint res_length; + // For system threads (e.g. replication SQL thread) user may be empty if (!thd->user) return &empty_string; - uint32 res_length=(strlen(thd->user)+strlen(host)+2) * cs->mbmaxlen; + res_length= (strlen(thd->user)+strlen(host)+2) * cs->mbmaxlen; if (str->alloc(res_length)) { |