Twisted 发表于 2011-10-7 18:20:18

[1.298] Freed session "hack-patch"

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:,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.
页: [1]
查看完整版本: [1.298] Freed session "hack-patch"