[libcxx] r222052 - Initialize pointer in string conversion helpers to prevent MSAN diagnostic.

Eric Fiselier eric at efcs.ca
Fri Nov 14 14:23:57 PST 2014


Author: ericwf
Date: Fri Nov 14 16:23:57 2014
New Revision: 222052

URL: http://llvm.org/viewvc/llvm-project?rev=222052&view=rev
Log:
Initialize pointer in string conversion helpers to prevent MSAN diagnostic.

Since the initialization of the pointer happens across the libc library boundry
MSAN will not know the pointer was initialized. This fixes MSAN failures in
test/strings/string.conversions.

Modified:
    libcxx/trunk/src/string.cpp

Modified: libcxx/trunk/src/string.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/src/string.cpp?rev=222052&r1=222051&r2=222052&view=diff
==============================================================================
--- libcxx/trunk/src/string.cpp (original)
+++ libcxx/trunk/src/string.cpp Fri Nov 14 16:23:57 2014
@@ -63,7 +63,7 @@ inline
 V
 as_integer_helper(const string& func, const S& str, size_t* idx, int base, F f)
 {
-    typename S::value_type* ptr;
+    typename S::value_type* ptr = nullptr;
     const typename S::value_type* const p = str.c_str();
     typename remove_reference<decltype(errno)>::type errno_save = errno;
     errno = 0;
@@ -180,7 +180,7 @@ inline
 V
 as_float_helper(const string& func, const S& str, size_t* idx, F f )
 {
-    typename S::value_type* ptr;
+    typename S::value_type* ptr = nullptr;
     const typename S::value_type* const p = str.c_str();
     typename remove_reference<decltype(errno)>::type errno_save = errno;
     errno = 0;





More information about the cfe-commits mailing list