<div dir="ltr">unix2dos was in my gnuwin32 installation, so I figured it's fine.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 26, 2015 at 8:51 PM, Filipe Cabecinhas <span dir="ltr"><<a href="mailto:filcab@gmail.com" target="_blank">filcab@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yeah, that's true. I'm still not happy about adding additional dependencies...<div>Python is a dependency, though. I guess a small Python one liner would work.<div><div class="h5"><span></span><br><br>On Wednesday, August 26, 2015, Sean Silva <<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 26, 2015 at 8:26 PM, Filipe Cabecinhas via llvm-commits <span dir="ltr"><<a>llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Please don't rely on unix2dos. Comitting a file with \r\n is much better than adding dependencies like this.<div>I also don't think this test should be Windows only.</div></blockquote><div><br></div><div>VCS are notorious for changing line endings in various ways. I don't think that unix2dos is a great solution, but it at least the failure mode is "blows up; program not found" instead of silently doing something else.</div><div><br></div><div>-- Sean Silva</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><span></span><br><div><br></div><div>Thank you,</div><div><br></div><div>  Filipe<div><div><br><br>On Wednesday, August 26, 2015, Reid Kleckner via llvm-commits <<a>llvm-commits@lists.llvm.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rnk<br>
Date: Wed Aug 26 17:23:50 2015<br>
New Revision: 246096<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=246096&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=246096&view=rev</a><br>
Log:<br>
Handle suppression files ending in CRLF (\r\n)<br>
<br>
The gnuwin32 version of 'echo' appears to produce such files, causing a<br>
test failure that only reproduced with gnuwin32.<br>
<br>
Added:<br>
    compiler-rt/trunk/test/asan/TestCases/Windows/suppressions-crlf.cc<br>
Modified:<br>
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_suppressions.cc<br>
<br>
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_suppressions.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_suppressions.cc?rev=246096&r1=246095&r2=246096&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_suppressions.cc?rev=246096&r1=246095&r2=246096&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_suppressions.cc (original)<br>
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_suppressions.cc Wed Aug 26 17:23:50 2015<br>
@@ -112,7 +112,8 @@ void SuppressionContext::Parse(const cha<br>
       end = line + internal_strlen(line);<br>
     if (line != end && line[0] != '#') {<br>
       const char *end2 = end;<br>
-      while (line != end2 && (end2[-1] == ' ' || end2[-1] == '\t'))<br>
+      while (line != end2 &&<br>
+             (end2[-1] == ' ' || end2[-1] == '\t' || end2[-1] == '\r'))<br>
         end2--;<br>
       int type;<br>
       for (type = 0; type < suppression_types_num_; type++) {<br>
<br>
Added: compiler-rt/trunk/test/asan/TestCases/Windows/suppressions-crlf.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Windows/suppressions-crlf.cc?rev=246096&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Windows/suppressions-crlf.cc?rev=246096&view=auto</a><br>
==============================================================================<br>
--- compiler-rt/trunk/test/asan/TestCases/Windows/suppressions-crlf.cc (added)<br>
+++ compiler-rt/trunk/test/asan/TestCases/Windows/suppressions-crlf.cc Wed Aug 26 17:23:50 2015<br>
@@ -0,0 +1,19 @@<br>
+// Try a strlen suppression, but force the input file to be DOS format (CRLF).<br>
+// RUN: %clangxx_asan -O0 %s -o %t<br>
+// RUN: echo "interceptor_name:strlen" > %t.supp<br>
+// RUN: unix2dos %t.supp<br>
+// RUN: %env_asan_opts=suppressions='"%t.supp"' %run %t 2>&1 | FileCheck %s<br>
+<br>
+#include <stdio.h><br>
+#include <stdlib.h><br>
+#include <string.h><br>
+<br>
+int main() {<br>
+  char *a = (char *)malloc(6);<br>
+  free(a);<br>
+  size_t len = strlen(a); // BOOM<br>
+  fprintf(stderr, "strlen ignored, len = %zu\n", len);<br>
+}<br>
+<br>
+// CHECK-NOT: AddressSanitizer: heap-use-after-free<br>
+// CHECK: strlen ignored<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a>llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div></div></div><span><font color="#888888"><br><br>-- <br>  F<br><br>
</font></span><br>_______________________________________________<br>
llvm-commits mailing list<br>
<a>llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br>-- <br>  F<br><br>
</font></span></blockquote></div><br></div>