Summary: rdar://problem/41126835 Reviewers: vsk, kubamracek Subscribers: #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D51271 llvm-svn: 341298
20 lines
523 B
C++
20 lines
523 B
C++
// RUN: %clangxx -fsanitize=pointer-overflow %s -o %t
|
|
// RUN: %run %t 1 2>&1 | FileCheck %s --check-prefix=ERR
|
|
// RUN: %run %t 0 2>&1 | FileCheck %s --check-prefix=SAFE
|
|
// RUN: %run %t -1 2>&1 | FileCheck %s --check-prefix=SAFE
|
|
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
// SAFE-NOT: runtime error
|
|
// ERR: runtime error: pointer index expression with base {{.*}} overflowed to
|
|
|
|
char *p = (char *)(UINTPTR_MAX);
|
|
|
|
printf("%p\n", p + atoi(argv[1]));
|
|
|
|
return 0;
|
|
}
|