fix a couple of leak detection bugs

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33353 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2011-06-20 04:37:20 +00:00
parent e78ceb4c96
commit 53b5f5405c
3 changed files with 11 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2011-06-20 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSObject.m: Keep zombie working until after atext stuff has
run.
* Source/NSUserDefaults.m: fix possible deref of nul pointer.
2011-06-19 Richard Frith-Macdonald <rfm@gnu.org> 2011-06-19 Richard Frith-Macdonald <rfm@gnu.org>
* Headers/GNUstepBase/NSObject+GNUstepBase.h: * Headers/GNUstepBase/NSObject+GNUstepBase.h:

View file

@ -1129,7 +1129,6 @@ objc_create_block_classes_as_subclasses_of(Class super);
NSDeallocateZombies = GSPrivateEnvironmentFlag("NSDeallocateZombies", NO); NSDeallocateZombies = GSPrivateEnvironmentFlag("NSDeallocateZombies", NO);
zombieMap = NSCreateMapTable(NSNonOwnedPointerMapKeyCallBacks, zombieMap = NSCreateMapTable(NSNonOwnedPointerMapKeyCallBacks,
NSNonOwnedPointerMapValueCallBacks, 0); NSNonOwnedPointerMapValueCallBacks, 0);
[[NSObject leakAt: (id*)&zombieMap] release];
/* We need to cache the zombie class. /* We need to cache the zombie class.
* We can't call +class because NSZombie doesn't have that method. * We can't call +class because NSZombie doesn't have that method.

View file

@ -788,8 +788,11 @@ newLanguages(NSArray *oldNames)
} }
NS_HANDLER NS_HANDLER
{ {
[defs->_lock unlock]; if (nil != defs)
[defs release]; {
[defs->_lock unlock];
[defs release];
}
[localException raise]; [localException raise];
} }
NS_ENDHANDLER NS_ENDHANDLER