From edf799133c2e75f697c9e2e4bee9e14bb4532eb3 Mon Sep 17 00:00:00 2001 From: irungentoo Date: Fri, 4 Oct 2013 11:20:47 -0400 Subject: Fixed some possible bugs. --- toxcore/Messenger.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'toxcore/Messenger.c') diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index 60fcc0ba..5ed94bb7 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c @@ -1091,7 +1091,7 @@ int file_control(Messenger *m, int friendnumber, uint8_t send_receive, uint8_t f } } - +#define MIN_SLOTS_FREE 4 /* Send file data. * * return 1 on success @@ -1108,6 +1108,10 @@ int file_data(Messenger *m, int friendnumber, uint8_t filenumber, uint8_t *data, if (m->friendlist[friendnumber].file_sending[filenumber].status != FILESTATUS_TRANSFERRING) return 0; + /* Prevent file sending from filling up the entire buffer preventing messages from being sent. */ + if (crypto_num_free_sendqueue_slots(m->net_crypto, m->friendlist[friendnumber].crypt_connection_id) < MIN_SLOTS_FREE) + return 0; + uint8_t packet[MAX_DATA_SIZE]; packet[0] = filenumber; memcpy(packet + 1, data, length); -- cgit v1.2.3