提交 efc943be 编写于 作者: E Emilia Kasper

MemorySanitizer: address false positive

Explicitly unpoison the result of FD_ZERO

Tests now pass, using -fsanitize=memory
Reviewed-by: NRich Salz <rsalz@openssl.org>
上级 a2d0baa2
......@@ -173,6 +173,12 @@ typedef unsigned int u_int;
# undef FIONBIO
#endif
#if defined(__has_feature)
# if __has_feature(memory_sanitizer)
# include <sanitizer/msan_interface.h>
# endif
#endif
#undef BUFSIZZ
#define BUFSIZZ 1024*8
#define S_CLIENT_IRC_READ_TIMEOUT 8
......@@ -905,6 +911,16 @@ int s_client_main(int argc, char **argv)
SRP_ARG srp_arg = { NULL, NULL, 0, 0, 0, 1024 };
#endif
FD_ZERO(&readfds);
FD_ZERO(&writefds);
/* Known false-positive of MemorySanitizer. */
#if defined(__has_feature)
# if __has_feature(memory_sanitizer)
__msan_unpoison(&readfds, sizeof(readfds));
__msan_unpoison(&writefds, sizeof(writefds));
# endif
#endif
prog = opt_progname(argv[0]);
c_quiet = 0;
c_ign_eof = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册