aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/system-header-simulator.h
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-06-16 00:09:20 +0000
committerJordan Rose <jordan_rose@apple.com>2012-06-16 00:09:20 +0000
commit1bf908df57cc43f3bc7296f4e51f5708bd323c6b (patch)
tree6168abf1a59d940bcbbc9c711f288e7b889afab7 /test/Analysis/system-header-simulator.h
parent32f498a675df990901e6659d610dc740f9423228 (diff)
[analyzer] Buffers passed to CGBitmapContextCreate can escape.
Specifically, although the bitmap context does not take ownership of the buffer (unlike CGBitmapContextCreateWithData), the data buffer can be extracted out of the created CGContextRef. Thus the buffer is not leaked even if its original pointer goes out of scope, as long as - the context escapes, or - it is retrieved via CGBitmapContextGetData and freed. Actually implementing that logic is beyond the current scope of MallocChecker, so for now CGBitmapContextCreate goes on our system function exception list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158579 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/system-header-simulator.h')
-rw-r--r--test/Analysis/system-header-simulator.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/Analysis/system-header-simulator.h b/test/Analysis/system-header-simulator.h
index a8cba9ce5b..d2fb2e8684 100644
--- a/test/Analysis/system-header-simulator.h
+++ b/test/Analysis/system-header-simulator.h
@@ -46,3 +46,10 @@ typedef struct {
int dealocateMemWhenDoneByVal(void*, StWithCallback);
int dealocateMemWhenDoneByRef(StWithCallback*, const void*);
+
+typedef struct CGContext *CGContextRef;
+CGContextRef CGBitmapContextCreate(void *data/*, size_t width, size_t height,
+ size_t bitsPerComponent, size_t bytesPerRow,
+ CGColorSpaceRef space,
+ CGBitmapInfo bitmapInfo*/);
+void *CGBitmapContextGetData(CGContextRef context);