[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