From 714dc22ccb12efdc203e8ce92d6e546ca9ffb157 Mon Sep 17 00:00:00 2001 From: Luca Dariz Date: Thu, 20 Nov 2014 12:41:12 +0100 Subject: refactor integer overflow detection, add signed int Instead of checking for every possible casse which result in overflow, it is much simpler to perform the operation using integers with bigger dimension and check if the result overflow --- test/Feature/ubsan_mul_overflow.c | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 test/Feature/ubsan_mul_overflow.c (limited to 'test/Feature/ubsan_mul_overflow.c') diff --git a/test/Feature/ubsan_mul_overflow.c b/test/Feature/ubsan_mul_overflow.c deleted file mode 100644 index 12300b05..00000000 --- a/test/Feature/ubsan_mul_overflow.c +++ /dev/null @@ -1,22 +0,0 @@ -// RUN: %llvmgcc %s -fsanitize=unsigned-integer-overflow -emit-llvm -g -O0 -c -o %t.bc -// RUN: %klee %t.bc 2> %t.log -// RUN: grep -c "overflow on unsigned multiplication" %t.log -// RUN: grep -c "ubsan_mul_overflow.c:18: overflow" %t.log -// RUN: grep -c "ubsan_mul_overflow.c:19: overflow" %t.log - -#include "klee/klee.h" - -int main() -{ - unsigned int x; - unsigned int y; - uint32_t x2=3147483648, y2=3727483648; - volatile unsigned int result; - - klee_make_symbolic(&x, sizeof(x), "unsigned add 1"); - klee_make_symbolic(&y, sizeof(y), "unsigned add 2"); - result = x * y; - result = x2 * y2; - - return 0; -} -- cgit 1.4.1