搜索
 找回密码
 加入

[1.298] Freed session "hack-patch"

Twisted 2011-10-7 18:20:18 1324
This one is a hack-patch for a larger issue I haven't been able to track down. For some reason, sessions are being freed and left in the available session pool only to be attempted to be used later and cause a crash (as the memory was freed).

It's (extremely) ugly, but as far as I can tell it does the job fine enough.

As far as I know, this issue is limited to 1.298. There's no point porting it to 1.310 (it's a hack-patch anyway).
# 00444D00  |> /EB 27         JMP SHORT 00444D29
# 00444D02  |  |90            NOP

# 00444D29  |> \81FA DDDDDDDD CMP EDX,0DDDDDDDD
# 00444D2F  |.^ 74 F2         JE SHORT 00444D23
# 00444D31  |.  3972 08       CMP DWORD PTR DS:[EDX+8],ESI
# 00444D34  \.^ EB CD         JMP SHORT 00444D03
All it does is check to make sure the memory was not freed (VC++ runtime will set it to 0xDDDDDDDD to indicate it's been 'deleted').
If anyone knows more about the issue itself, please let me know. Thanks.

0 回复

高级模式
游客