forked from OSchip/llvm-project
[Sanitizer] arc4random interception on Mac
Reviewers: yln,vitalybuka Reviewed By: yln Differential Revision: https://reviews.llvm.org/D66391 llvm-svn: 369285
This commit is contained in:
parent
f04d246d7d
commit
949f190810
|
@ -13,6 +13,7 @@
|
|||
#include "sanitizer_platform.h"
|
||||
#if SANITIZER_MAC
|
||||
#include "sanitizer_mac.h"
|
||||
#include "interception/interception.h"
|
||||
|
||||
// Use 64-bit inodes in file operations. ASan does not support OS X 10.5, so
|
||||
// the clients will most certainly use 64-bit ones as well.
|
||||
|
@ -1181,7 +1182,7 @@ bool GetRandom(void *buffer, uptr length, bool blocking) {
|
|||
if (!buffer || !length || length > 256)
|
||||
return false;
|
||||
// arc4random never fails.
|
||||
arc4random_buf(buffer, length);
|
||||
REAL(arc4random_buf)(buffer, length);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -561,7 +561,7 @@
|
|||
#define SANITIZER_INTERCEPT_FUNOPEN (SI_NETBSD || SI_FREEBSD)
|
||||
#define SANITIZER_INTERCEPT_FUNOPEN2 SI_NETBSD
|
||||
#define SANITIZER_INTERCEPT_GETFSENT (SI_FREEBSD || SI_NETBSD || SI_MAC)
|
||||
#define SANITIZER_INTERCEPT_ARC4RANDOM (SI_FREEBSD || SI_NETBSD)
|
||||
#define SANITIZER_INTERCEPT_ARC4RANDOM (SI_FREEBSD || SI_NETBSD || SI_MAC)
|
||||
#define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
|
||||
#define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
|
||||
#define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// RUN: %clangxx -O0 -g %s -o %t && %run %t 2>&1 | FileCheck %s
|
||||
//
|
||||
// UNSUPPORTED: linux, darwin, solaris
|
||||
// UNSUPPORTED: linux, solaris
|
||||
|
||||
#include <cstdlib>
|
||||
#include <ctime>
|
||||
|
|
Loading…
Reference in New Issue