Bug 190152 - crash in silcgaim_login_connected
crash in silcgaim_login_connected
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: gaim (Show other bugs)
5
All Linux
medium Severity medium
: ---
: ---
Assigned To: Warren Togami
:
Depends On:
Blocks: 171491
  Show dependency treegraph
 
Reported: 2006-04-28 04:07 EDT by Giandomenico De Tullio
Modified: 2007-11-30 17:11 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-07-10 13:26:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
maybe a fix? (654 bytes, patch)
2006-04-28 04:07 EDT, Giandomenico De Tullio
no flags Details | Diff

  None (edit)
Description Giandomenico De Tullio 2006-04-28 04:07:01 EDT
Description of problem:

crash (null-pointer access) in silc plugin code.

Version-Release number of selected component (if applicable):

gaim-1.5.0-16.fc5


How reproducible:



Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209010512 (LWP 2630)]
silcgaim_login_connected (data=0x9fec1c0, source=29, cond=GAIM_INPUT_READ)
    at silc.c:133
133             GaimAccount *account = sg->account;
(gdb) bt full
#0  silcgaim_login_connected (data=0x9fec1c0, source=29, cond=GAIM_INPUT_READ)
    at silc.c:133
        sg = 0x0
        client = Variable "client" is not available.




---[ gaim-1.5.0/src/protocols/silc/silc.c ]---

static void                                                                    
                                                                               
                                                
silcgaim_login_connected(gpointer data, gint source, GaimInputCondition cond)  
                                                                               
                                                
{                                                                              
                                                                               
                                                
        GaimConnection *gc = data;                                             
                                                                               
                                                
        SilcGaim sg = gc->proto_data;                                          
                                                                               
                                                
        SilcClient client;                                                     
                                                                               
                                                
        SilcClientConnection conn;                                             
                                                                               
                                                
        GaimAccount *account = sg->account;                       <-----       
                                                                               
                                                           
        SilcClientConnectionParams params;                                     
                                                                               
                                                
        const char *dfile;                                                     
                                                                               
                                                
                                                                               
                                                                               
                                                
        if (source < 0) {                                                      
                                                                               
                                                
                gaim_connection_error(gc, _("Connection failed"));             
                                                                               
                                                
                return;                                                        
                                                                               
                                                
        }                                                                      
                                                                               
                                                
                                                                               
                                                                               
                                                
        if (sg == NULL)                                           <-----       
                                                                               
                                                
                return;                                                        
                                                                               
                                                
                                                                               
                                                                               
                                                
        client = sg->client;                                                   
                                                                               
                                                
                                                                               
                                                                               
                                                
        if (!g_list_find(gaim_connections_get_all(), gc)) {                    
                                                                               
                                                
                close(source);                                                 
                                                                               
                                                
                g_source_remove(sg->scheduler);                                
                                                                               
                                                
                silc_client_stop(sg->client);                                  
                                                                               
                                                
                silc_client_free(sg->client);                                  
                                                                               
                                                
                silc_free(sg);                                                 
                                                                               
                                                
                return;                                                        
                                                                               
                                                
        }
Comment 1 Giandomenico De Tullio 2006-04-28 04:07:02 EDT
Created attachment 128346 [details]
maybe a fix?
Comment 2 Ethan Blanton 2006-04-28 08:23:06 EDT
This was fixed upstream some time ago in CVS, as "Coverity CID 71" in svn
revision 15784.  That revision is enormous and contains many changes,
Giandomenico's patch is more manageable if Fedora wants to ship a spot-fix.

Ethan
Comment 3 Warren Togami 2006-04-28 16:19:39 EDT
<Paco-Paco> warren: however, nosnilmot pointed out that I'm stupid, and the svn
patch is in fact quite small
<Paco-Paco> if you would rather take it
<Paco-Paco> http://svn.sourceforge.net/viewcvs.cgi/gaim?view=rev&rev=15784
Comment 4 Giandomenico De Tullio 2006-06-05 02:39:09 EDT
hm .... any news? 
Comment 5 Warren Togami 2006-07-10 13:26:10 EDT
This has been in updates for a while.

Note You need to log in before you can comment on or make changes to this bug.