libpurple/protocols/gg/lib/dcc7.c

changeset 33710
0d7ead568881
parent 33285
32cbdbf016bd
parent 33709
84fb3f1d401b
child 35557
e83a87761544
--- a/libpurple/protocols/gg/lib/dcc7.c	Sun Jan 27 05:57:39 2013 -0500
+++ b/libpurple/protocols/gg/lib/dcc7.c	Tue Jan 29 15:38:45 2013 +0100
@@ -140,7 +140,7 @@
 
 	for (tmp = sess->dcc7_list; tmp; tmp = tmp->next) {
 		if (empty) {
-			if (tmp->peer_uin == uin && !tmp->state == GG_STATE_WAITING_FOR_ACCEPT)
+			if (tmp->peer_uin == uin /*&& tmp->state != GG_STATE_WAITING_FOR_ACCEPT*/)
 				return tmp;
 		} else {
 			if (!memcmp(&tmp->cid, &id, sizeof(id)))
@@ -239,6 +239,7 @@
 		return -1;
 	}
 
+	memset(&sin, 0, sizeof(sin));
 	sin.sin_family = AF_INET;
 	sin.sin_addr.s_addr = addr;
 	sin.sin_port = htons(port);
@@ -649,7 +650,7 @@
 				s.uin_to = gg_fix32(tmp->peer_uin);
 				s.size = gg_fix32(tmp->size);
 
-				strncpy((char*) s.filename, (char*) tmp->filename, GG_DCC7_FILENAME_LEN);
+				memcpy((char*) s.filename, (char*) tmp->filename, GG_DCC7_FILENAME_LEN);
 
 				tmp->state = GG_STATE_WAITING_FOR_ACCEPT;
 				tmp->timeout = GG_DCC7_TIMEOUT_FILE_ACK;

mercurial