mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-23 09:04:13 +00:00
fix leak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28771 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
3f7f5e5410
commit
e93dcbf681
3 changed files with 5 additions and 7 deletions
|
@ -50,6 +50,7 @@ extern "C" {
|
|||
BOOL _targetRetained;
|
||||
BOOL _validReturn;
|
||||
BOOL _sendToSuper;
|
||||
void *_retptr;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
@interface GSFFIInvocation : NSInvocation
|
||||
{
|
||||
uint8_t _retbuf[32]; // Store return values of up to 32 bytes here.
|
||||
void *_retptr; // Store bigger return values in here.
|
||||
}
|
||||
@end
|
||||
|
||||
|
|
|
@ -329,18 +329,12 @@ _arg_addr(NSInvocation *inv, int index)
|
|||
if (_cframe)
|
||||
{
|
||||
NSZoneFree(NSDefaultMallocZone(), _cframe);
|
||||
_retval = 0; // Part of _cframe
|
||||
}
|
||||
#elif defined(USE_FFCALL)
|
||||
if (_cframe)
|
||||
{
|
||||
NSZoneFree(NSDefaultMallocZone(), _cframe);
|
||||
}
|
||||
if (_retptr)
|
||||
{
|
||||
NSZoneFree(NSDefaultMallocZone(), _retptr);
|
||||
}
|
||||
_retval = 0;
|
||||
#else
|
||||
if (_cframe)
|
||||
{
|
||||
|
@ -351,6 +345,10 @@ _arg_addr(NSInvocation *inv, int index)
|
|||
NSZoneFree(NSDefaultMallocZone(), _retval);
|
||||
}
|
||||
#endif
|
||||
if (_retptr)
|
||||
{
|
||||
NSZoneFree(NSDefaultMallocZone(), _retptr);
|
||||
}
|
||||
RELEASE(_sig);
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue