diff options
| author | Ted Kremenek <kremenek@apple.com> | 2010-09-10 20:20:49 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2010-09-10 20:20:49 +0000 |
| commit | 0a3f52361425f54d1be06033477312ebc668e034 (patch) | |
| tree | b52b0d2f1e1b0d9a241f0802e0c95d373aed1c00 /clang/test/Analysis | |
| parent | b57a127a53213938fe9e3556621275e76b95d6ed (diff) | |
| download | bcm5719-llvm-0a3f52361425f54d1be06033477312ebc668e034.tar.gz bcm5719-llvm-0a3f52361425f54d1be06033477312ebc668e034.zip | |
Polish diagnostics for null dereferences via ObjC ivar accesses. Finishes up <rdar://problem/6352035>.
llvm-svn: 113612
Diffstat (limited to 'clang/test/Analysis')
| -rw-r--r-- | clang/test/Analysis/misc-ps.m | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/Analysis/misc-ps.m b/clang/test/Analysis/misc-ps.m index 09f397041fb..a44eb0c18d3 100644 --- a/clang/test/Analysis/misc-ps.m +++ b/clang/test/Analysis/misc-ps.m @@ -1110,3 +1110,22 @@ void rdar6351970_c() { @synchronized(x) {} // expected-warning{{Uninitialized value used as mutex for @synchronized}} } +// <rdar://problem/6352035> rule request: direct structure member access null pointer dereference +@interface RDar6352035 { + int c; +} +- (void)foo; +- (void)bar; +@end + +@implementation RDar6352035 +- (void)foo { + RDar6352035 *friend = 0; + friend->c = 7; // expected-warning{{Instance variable access (via 'friend') results in a null pointer dereference}} +} +- (void)bar { + self = 0; + c = 7; // expected-warning{{Instance variable access (via 'self') results in a null pointer dereference}} +} +@end + |

