diff options
| -rw-r--r-- | dcc.c | 3 | ||||
| -rw-r--r-- | lib/ftutil.c | 2 | ||||
| -rw-r--r-- | lib/http_client.c | 3 | ||||
| -rw-r--r-- | protocols/jabber/s5bytestream.c | 6 | ||||
| -rw-r--r-- | protocols/jabber/si.c | 3 | 
5 files changed, 15 insertions, 2 deletions
| @@ -384,10 +384,11 @@ gboolean dccs_recv_proto( gpointer data, gint fd, b_input_condition cond )  			if( df->watch_out )  				b_event_remove( df->watch_out ); +			df->watch_in = 0; +  			if( df->proto_finished )  				dcc_finish( ft ); -			df->watch_in = 0;  			return FALSE;  		} diff --git a/lib/ftutil.c b/lib/ftutil.c index 71c09b50..3b29d2f4 100644 --- a/lib/ftutil.c +++ b/lib/ftutil.c @@ -137,7 +137,7 @@ int ft_listen( struct sockaddr_storage *saddr_ptr, char *host, char *port, int c  		memcpy( saddr_ptr, saddr, saddrlen );  	/* I hate static-length strings.. */ -	host[HOST_NAME_MAX] = '\0'; +	host[HOST_NAME_MAX-1] = '\0';  	port[5] = '\0';  	return fd; diff --git a/lib/http_client.c b/lib/http_client.c index 18c393f8..590b8143 100644 --- a/lib/http_client.c +++ b/lib/http_client.c @@ -210,7 +210,10 @@ static gboolean http_incoming_data( gpointer data, int source, b_input_condition  	int st;  	if( req->inpa > 0 ) +	{  		b_event_remove( req->inpa ); +		req->inpa = 0; +	}  	if( req->ssl )  	{ diff --git a/protocols/jabber/s5bytestream.c b/protocols/jabber/s5bytestream.c index f4618cef..6b22d95f 100644 --- a/protocols/jabber/s5bytestream.c +++ b/protocols/jabber/s5bytestream.c @@ -122,10 +122,16 @@ void jabber_bs_free_transfer( file_transfer_t *ft) {  	}  	if ( tf->watch_in ) +	{  		b_event_remove( tf->watch_in ); +		tf->watch_in = 0; +	}  	if( tf->watch_out ) +	{  		b_event_remove( tf->watch_out ); +		tf->watch_out = 0; +	}  	g_free( bt->pseudoadr ); diff --git a/protocols/jabber/si.c b/protocols/jabber/si.c index f5f3b2fe..f3060fff 100644 --- a/protocols/jabber/si.c +++ b/protocols/jabber/si.c @@ -34,7 +34,10 @@ void jabber_si_free_transfer( file_transfer_t *ft)  	struct jabber_data *jd = tf->ic->proto_data;  	if ( tf->watch_in ) +	{  		b_event_remove( tf->watch_in ); +		tf->watch_in = 0; +	}  	jd->filetransfers = g_slist_remove( jd->filetransfers, tf ); | 
