Fix a use after free() bug in XMPPSCRAMAuth
This commit is contained in:
parent
441a9e4472
commit
aa5109a788
1 changed files with 4 additions and 3 deletions
|
@ -505,10 +505,13 @@
|
||||||
result[j] ^= uOld[j];
|
result[j] ^= uOld[j];
|
||||||
|
|
||||||
for (j = 0; j < i - 1; j++) {
|
for (j = 0; j < i - 1; j++) {
|
||||||
tmp = [OFDataArray dataArray];
|
tmp = [OFDataArray new];
|
||||||
[tmp addItems: uOld
|
[tmp addItems: uOld
|
||||||
count: digestSize];
|
count: digestSize];
|
||||||
|
|
||||||
|
[pool releaseObjects]; // releases uOld and previous tmp
|
||||||
|
[tmp autorelease];
|
||||||
|
|
||||||
u = [self XMPP_HMACWithKey: str
|
u = [self XMPP_HMACWithKey: str
|
||||||
data: tmp];
|
data: tmp];
|
||||||
|
|
||||||
|
@ -516,8 +519,6 @@
|
||||||
result[k] ^= u[k];
|
result[k] ^= u[k];
|
||||||
|
|
||||||
uOld = u;
|
uOld = u;
|
||||||
|
|
||||||
[pool releaseObjects];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = [OFDataArray dataArray];
|
ret = [OFDataArray dataArray];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue