Index: src/XMPPSCRAMAuth.m ================================================================== --- src/XMPPSCRAMAuth.m +++ src/XMPPSCRAMAuth.m @@ -407,24 +407,24 @@ [hashI updateWithBuffer: (char*)kI length: blockSize]; [hashI updateWithBuffer: [data cArray] length: [data itemSize] * [data count]]; - hashO = [[hashType alloc] init]; + hashO = [[[hashType alloc] init] autorelease]; [hashO updateWithBuffer: (char*)kO length: blockSize]; [hashO updateWithBuffer: (char*)[hashI digest] length: [hashType digestSize]]; } @finally { [self freeMemory: kI]; [self freeMemory: kO]; } + [hashO retain]; [pool release]; - [hashO autorelease]; - return [hashO digest]; + return [[hashO autorelease] digest]; } - (OFDataArray*)XMPP_hiWithData: (OFDataArray *)str salt: (OFDataArray *)salt_ iterationCount: (intmax_t)i