[reSIProcate] Crash inside RRList::update()
Dmitry Semyonov
dsemyonov at dins.ru
Fri Jan 27 11:54:02 CST 2006
Hi all.
Environment: reSIProcate rev.5685 on Win2K.
(The revision is rather old, but looks like there were no changes in
the DNS code that might have fixed the issue in later revisions.)
In some rare yet undetermined cases I encounter crash inside DNS
code:
> resip::RRList::update() Line 62 + 0x3
resip::RRList::RRList() Line 50
resip::RRCache::updateCache() Line 95 + 0x41
___WSAFDIsSet at 8() + 0x9544
resip::DnsStub::Query::followCname() Line 487 + 0x30
Exact place is highlighted below (ECX is zero):
62: item.record = factory->create(*it);
01B4F439 mov ecx,dword ptr [ebp+8]
> 01B4F43C mov eax,dword ptr [ecx]
01B4F43E push edi
01B4F43F mov byte ptr [ebp-4],1
01B4F443 call dword ptr [eax+4]
Adding sanity pointer checks will likely solve the issue, but will it
be the right solution?
Could anybody familiar with DNS code review the trace, and possibly
propose a better fix?
--
...Bye..Dmitry.
More information about the resiprocate-devel
mailing list