diff --git a/util/net/http_transport_libcurl.cc b/util/net/http_transport_libcurl.cc index f9f14c05..d5c9177f 100644 --- a/util/net/http_transport_libcurl.cc +++ b/util/net/http_transport_libcurl.cc @@ -522,6 +522,10 @@ size_t HTTPTransportLibcurl::WriteResponseBody(char* buffer, size_t size, size_t nitems, void* userdata) { +#if defined(MEMORY_SANITIZER) + // Work around an MSAN false-positive in passing `userdata`. + __msan_unpoison(&userdata, sizeof(userdata)); +#endif std::string* response_body = reinterpret_cast(userdata); // This libcurl callback mimics the silly stdio-style fread() interface: size