From 7a2c052ffc8b93acaa1e4de502c83cbae548148c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= Date: Sat, 28 Mar 2020 20:12:43 +0200 Subject: [PATCH] MemorySanitizer: Avoid calling uninstrumented getservbyname() --- libmariadb/mariadb_lib.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libmariadb/mariadb_lib.c b/libmariadb/mariadb_lib.c index a4e7466b..7a38a875 100644 --- a/libmariadb/mariadb_lib.c +++ b/libmariadb/mariadb_lib.c @@ -39,6 +39,10 @@ #include #include +#ifndef __has_feature +# define __has_feature(x) 0 +#endif + #ifdef HAVE_PWD_H #include #endif @@ -3720,12 +3724,16 @@ static void mysql_once_init() } if (!mysql_port) { +#if !__has_feature(memory_sanitizer) /* work around MSAN deficiency */ struct servent *serv_ptr; +#endif char *env; mysql_port = MARIADB_PORT; +#if !__has_feature(memory_sanitizer) /* work around MSAN deficiency */ if ((serv_ptr = getservbyname("mysql", "tcp"))) mysql_port = (uint)ntohs((ushort)serv_ptr->s_port); +#endif if ((env = getenv("MYSQL_TCP_PORT"))) mysql_port =(uint)atoi(env); }