diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-18 00:07:16 +0000 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-18 00:07:16 +0000 | 
| commit | 78d254f110d47f9e0c3a8f12259f93a4faa2130d (patch) | |
| tree | cd48282657f1e7f3d66032d25f5c8e37159dfe2c /protocols | |
| parent | 42fc5b6cfed51ac011df8877cf5e24f00828e8be (diff) | |
More small fixes. (NULL derefs and s/close/disconnect/)
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/jabber/s5bytestream.c | 5 | ||||
| -rw-r--r-- | protocols/jabber/si.c | 8 | 
2 files changed, 8 insertions, 5 deletions
| diff --git a/protocols/jabber/s5bytestream.c b/protocols/jabber/s5bytestream.c index c292e61e..5fcbef6a 100644 --- a/protocols/jabber/s5bytestream.c +++ b/protocols/jabber/s5bytestream.c @@ -281,11 +281,12 @@ int jabber_bs_recv_request( struct im_connection *ic, struct xt_node *node, stru  	shnode = qnode->children;  	while( ( shnode = xt_find_node( shnode, "streamhost" ) ) )  	{ -		char *jid, *host; +		char *jid, *host, *port_s;  		int port;  		if( ( jid = xt_find_attr( shnode, "jid" ) ) &&  		    ( host = xt_find_attr( shnode, "host" ) ) && -		    ( ( port = atoi( xt_find_attr( shnode, "port" ) ) ) ) ) +		    ( port_s = xt_find_attr( shnode, "port" ) ) && +		    ( sscanf( port_s, "%d", &port ) == 1 ) )  		{  			jabber_streamhost_t *sh = g_new0( jabber_streamhost_t, 1 );  			sh->jid = g_strdup(jid); diff --git a/protocols/jabber/si.c b/protocols/jabber/si.c index e7aeffc9..424db8b3 100644 --- a/protocols/jabber/si.c +++ b/protocols/jabber/si.c @@ -40,7 +40,7 @@ void jabber_si_free_transfer( file_transfer_t *ft)  	if( tf->fd != -1 )  	{ -		close( tf->fd ); +		disconnect( tf->fd );  		tf->fd = -1;  	} @@ -51,6 +51,7 @@ void jabber_si_free_transfer( file_transfer_t *ft)  	g_free( tf->tgt_jid );  	g_free( tf->iq_id );  	g_free( tf->sid ); +	g_free( tf );  }  /* file_transfer canceled() callback */ @@ -203,7 +204,7 @@ void jabber_si_transfer_request( struct im_connection *ic, file_transfer_t *ft,  int jabber_si_handle_request( struct im_connection *ic, struct xt_node *node, struct xt_node *sinode)  {  	struct xt_node *c, *d, *reply; -	char *sid, *ini_jid, *tgt_jid, *iq_id, *s, *ext_jid; +	char *sid, *ini_jid, *tgt_jid, *iq_id, *s, *ext_jid, *size_s;  	struct jabber_buddy *bud;  	int requestok = FALSE;  	char *name; @@ -229,7 +230,8 @@ int jabber_si_handle_request( struct im_connection *ic, struct xt_node *node, st  	    !( d 		= xt_find_node( sinode->children, "file" ) 		) ||  	    !( strcmp( xt_find_attr( d, "xmlns" ), XMLNS_FILETRANSFER ) == 0 		) ||  	    !( name 		= xt_find_attr( d, "name" ) 				) || -	    !( size 		= (size_t) atoll( xt_find_attr( d, "size" ) ) 		) || +	    !( size_s           = xt_find_attr( d, "size" )                             ) || +	    !( 1               == sscanf( size_s, "%lld", &size )                       ) ||  	    !( d 		= xt_find_node( sinode->children, "feature" ) 		) ||  	    !( strcmp( xt_find_attr( d, "xmlns" ), XMLNS_FEATURE ) == 0 		) ||  	    !( d 		= xt_find_node( d->children, "x" ) 			) || | 
