[compiler-rt] r224858 - [sanitizer] Treat \r, \n, \t as flag separators.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Fri Dec 26 08:09:15 PST 2014


Author: eugenis
Date: Fri Dec 26 10:09:15 2014
New Revision: 224858

URL: http://llvm.org/viewvc/llvm-project?rev=224858&view=rev
Log:
[sanitizer] Treat \r, \n, \t as flag separators.

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc
    compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_flags_test.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc?rev=224858&r1=224857&r2=224858&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc Fri Dec 26 10:09:15 2014
@@ -216,7 +216,7 @@ static bool GetFlagValue(const char *env
       end = internal_strchr(pos, '\'');
     } else {
       // Read until the next space or colon.
-      end = pos + internal_strcspn(pos, " :");
+      end = pos + internal_strcspn(pos, " :\r\n\t");
     }
     if (end == 0)
       end = pos + internal_strlen(pos);

Modified: compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_flags_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_flags_test.cc?rev=224858&r1=224857&r2=224858&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_flags_test.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_flags_test.cc Fri Dec 26 10:09:15 2014
@@ -81,6 +81,9 @@ TEST(SanitizerCommon, MultipleFlags) {
   TestTwoFlags("flag2='qxx' flag1=0", false, "qxx");
   TestTwoFlags("flag1=false:flag2='zzz'", false, "zzz");
   TestTwoFlags("flag2=qxx:flag1=yes", true, "qxx");
+  TestTwoFlags("flag2=qxx\nflag1=yes", true, "qxx");
+  TestTwoFlags("flag2=qxx\r\nflag1=yes", true, "qxx");
+  TestTwoFlags("flag2=qxx\tflag1=yes", true, "qxx");
 }
 
 TEST(SanitizerCommon, CommonFlags) {





More information about the llvm-commits mailing list