libfuzzer: fix compiler warnings

- unused sigaction/setitimer result (used in assert)
- unchecked fscanf return value
- signed/unsigned comparison

llvm-svn: 262472
This commit is contained in:
Dmitry Vyukov 2016-03-02 09:54:40 +00:00
parent d15c95a793
commit 2eed1218e5
2 changed files with 12 additions and 6 deletions

View File

@ -319,7 +319,7 @@ void TraceState::DFSanCmpCallback(uintptr_t PC, size_t CmpSize, size_t CmpType,
AddMutation(Pos, CmpSize, Data - 1);
}
if (CmpSize > LR.End - LR.Beg)
if (CmpSize > (size_t)(LR.End - LR.Beg))
AddMutation(LR.Beg, (unsigned)(LR.End - LR.Beg), Data);

View File

@ -19,6 +19,7 @@
#include <signal.h>
#include <sstream>
#include <unistd.h>
#include <errno.h>
namespace fuzzer {
@ -84,14 +85,18 @@ static void SetSigaction(int signum,
struct sigaction sigact;
memset(&sigact, 0, sizeof(sigact));
sigact.sa_sigaction = callback;
int Res = sigaction(signum, &sigact, 0);
assert(Res == 0);
if (sigaction(signum, &sigact, 0)) {
Printf("libFuzzer: sigaction failed with %d\n", errno);
exit(1);
}
}
void SetTimer(int Seconds) {
struct itimerval T {{Seconds, 0}, {Seconds, 0}};
int Res = setitimer(ITIMER_REAL, &T, nullptr);
assert(Res == 0);
if (setitimer(ITIMER_REAL, &T, nullptr)) {
Printf("libFuzzer: setitimer failed with %d\n", errno);
exit(1);
}
SetSigaction(SIGALRM, AlarmHandler);
}
@ -105,7 +110,8 @@ void SetSigIntHandler() { SetSigaction(SIGINT, InterruptHandler); }
int NumberOfCpuCores() {
FILE *F = popen("nproc", "r");
int N = 0;
fscanf(F, "%d", &N);
if (fscanf(F, "%d", &N) != 1)
N = 1;
fclose(F);
return N;
}