[Pidgin] #7563: Intermidiate crash uppon connection to sametime server using meanwhile
Pidgin
trac at pidgin.im
Wed Nov 19 05:30:38 EST 2008
#7563: Intermidiate crash uppon connection to sametime server using meanwhile
--------------------------------------+-------------------------------------
Reporter: shap | Owner: siege
Type: defect | Status: new
Milestone: | Component: Sametime
Version: 2.5.2 | Resolution:
Keywords: sametime meanwhile crash |
--------------------------------------+-------------------------------------
Comment(by raikon):
It seems that something has changed with the new ST server pidgin cannot
process LOGIN_REDIRECTS anymore.
I tracked my intermediate crashes down to the appearances of
LOGIN_REDIRECTS. After following that functions in the debugger I found
that there is supposed to be a new host name provided by the info field
when calling the on_stateChange() handler in the pidgin libsametime
protocol library. But that info field is NULL and finally hits the
function session_loginRedirect() in libsametime.so (sametime.c) where it
is interpreted as new host name and directly sent to a strcmp() to compare
it with the old host name:
{{{
if(purple_account_get_bool(account, MW_KEY_FORCE, FALSE) ||
'''(! strcmp(current_host, host))''' ||
(purple_proxy_connect(NULL, account, host, port, connect_cb, pd) ==
NULL)) {
}}}
That call to strcmp() segfaults because of host being NULL.
The quick fix is to check the host variable to be != NULL as with all the
other meanwhile fixes before. That will cause a forced login to happen.
The next question to me is, whether meanwhile also needs to be changed to
correctly find the new host name from the login redirect message sent by
the new ST server.
--
Ticket URL: <http://developer.pidgin.im/ticket/7563#comment:3>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list