Fix a use after free() bug in XMPPSCRAMAuth

This commit is contained in:
Florian Zeitz 2013-03-26 19:11:15 +01:00
parent 441a9e4472
commit aa5109a788

View file

@ -505,10 +505,13 @@
result[j] ^= uOld[j];
for (j = 0; j < i - 1; j++) {
tmp = [OFDataArray dataArray];
tmp = [OFDataArray new];
[tmp addItems: uOld
count: digestSize];
[pool releaseObjects]; // releases uOld and previous tmp
[tmp autorelease];
u = [self XMPP_HMACWithKey: str
data: tmp];
@ -516,8 +519,6 @@
result[k] ^= u[k];
uOld = u;
[pool releaseObjects];
}
ret = [OFDataArray dataArray];