<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV>&nbsp;&nbsp;&nbsp; After detailed analysis of the Yahoo 0.8-1.4 
source,&nbsp;I found the core dump problem can be resolved&nbsp;by altering line 
49 of sessions.c inside&nbsp;yahoo_session_end() from:</DIV>
<DIV>&nbsp;</DIV>
<DIV>ghash_remove(s-&gt;yti-&gt;s, 
s-&gt;user);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>to:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>ghash_remove(s-&gt;yti-&gt;s, jid_full(s-&gt;user));</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; Without the call to 
jid_full(...), ghash_remove() fails to remove the closed session from the hash 
table. My guess is that memory inside&nbsp;the session structure is released, so 
when the user logsback in and the ghash_get() finds the old session, it starts 
accessing garbage-collected data and suffers an untimely 
termination.</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; One suggestion is to alter 
ghash_remove() and xhash_zap() to return meaningful values - and then check said 
return values in the client code.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>-Kevin</FONT></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>