<div dir="ltr">Thanks for the fix. <div>By default we don't use -Werror when building clang and the libFuzzer configuration used on bots includes asserts -- so we did not see these. </div><div>Added -Werror in r262517.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 2, 2016 at 1:54 AM, Dmitry Vyukov via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">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">Author: dvyukov<br>
Date: Wed Mar  2 03:54:40 2016<br>
New Revision: 262472<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=262472&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=262472&view=rev</a><br>
Log:<br>
libfuzzer: fix compiler warnings<br>
<br>
- unused sigaction/setitimer result (used in assert)<br>
- unchecked fscanf return value<br>
- signed/unsigned comparison<br>
<br>
<br>
Modified:<br>
    llvm/trunk/lib/Fuzzer/FuzzerTraceState.cpp<br>
    llvm/trunk/lib/Fuzzer/FuzzerUtil.cpp<br>
<br>
Modified: llvm/trunk/lib/Fuzzer/FuzzerTraceState.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/FuzzerTraceState.cpp?rev=262472&r1=262471&r2=262472&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/FuzzerTraceState.cpp?rev=262472&r1=262471&r2=262472&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Fuzzer/FuzzerTraceState.cpp (original)<br>
+++ llvm/trunk/lib/Fuzzer/FuzzerTraceState.cpp Wed Mar  2 03:54:40 2016<br>
@@ -319,7 +319,7 @@ void TraceState::DFSanCmpCallback(uintpt<br>
     AddMutation(Pos, CmpSize, Data - 1);<br>
   }<br>
<br>
-  if (CmpSize > LR.End - LR.Beg)<br>
+  if (CmpSize > (size_t)(LR.End - LR.Beg))<br>
     AddMutation(LR.Beg, (unsigned)(LR.End - LR.Beg), Data);<br>
<br>
<br>
<br>
Modified: llvm/trunk/lib/Fuzzer/FuzzerUtil.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/FuzzerUtil.cpp?rev=262472&r1=262471&r2=262472&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Fuzzer/FuzzerUtil.cpp?rev=262472&r1=262471&r2=262472&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Fuzzer/FuzzerUtil.cpp (original)<br>
+++ llvm/trunk/lib/Fuzzer/FuzzerUtil.cpp Wed Mar  2 03:54:40 2016<br>
@@ -19,6 +19,7 @@<br>
 #include <signal.h><br>
 #include <sstream><br>
 #include <unistd.h><br>
+#include <errno.h><br>
<br>
 namespace fuzzer {<br>
<br>
@@ -84,14 +85,18 @@ static void SetSigaction(int signum,<br>
   struct sigaction sigact;<br>
   memset(&sigact, 0, sizeof(sigact));<br>
   sigact.sa_sigaction = callback;<br>
-  int Res = sigaction(signum, &sigact, 0);<br>
-  assert(Res == 0);<br>
+  if (sigaction(signum, &sigact, 0)) {<br>
+    Printf("libFuzzer: sigaction failed with %d\n", errno);<br>
+    exit(1);<br>
+  }<br>
 }<br>
<br>
 void SetTimer(int Seconds) {<br>
   struct itimerval T {{Seconds, 0}, {Seconds, 0}};<br>
-  int Res = setitimer(ITIMER_REAL, &T, nullptr);<br>
-  assert(Res == 0);<br>
+  if (setitimer(ITIMER_REAL, &T, nullptr)) {<br>
+    Printf("libFuzzer: setitimer failed with %d\n", errno);<br>
+    exit(1);<br>
+  }<br>
   SetSigaction(SIGALRM, AlarmHandler);<br>
 }<br>
<br>
@@ -105,7 +110,8 @@ void SetSigIntHandler() { SetSigaction(S<br>
 int NumberOfCpuCores() {<br>
   FILE *F = popen("nproc", "r");<br>
   int N = 0;<br>
-  fscanf(F, "%d", &N);<br>
+  if (fscanf(F, "%d", &N) != 1)<br>
+    N = 1;<br>
   fclose(F);<br>
   return N;<br>
 }<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">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>
</blockquote></div><br></div>