diff options
author | dequis <dx@dxzone.com.ar> | 2014-10-27 03:36:09 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2014-10-27 03:36:09 -0300 |
commit | b6bd99c766d88ef37c735f5bbd08e621288d955d (patch) | |
tree | 36c9789da9e8fee7123c02cc0b3a3cd761175788 | |
parent | 8256ad5ed0c545dfbfd0035d0bac8296ac224467 (diff) |
dcc: Fix some invalid memory accesses reported by ASAN
ASAN <3
-rw-r--r-- | dcc.c | 3 | ||||
-rw-r--r-- | lib/ftutil.c | 2 |
2 files changed, 3 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; |