summaryrefslogtreecommitdiff
path: root/toxcore/Messenger.c
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2013-10-04 11:20:47 -0400
committerirungentoo <irungentoo@gmail.com>2013-10-04 11:20:47 -0400
commitedf799133c2e75f697c9e2e4bee9e14bb4532eb3 (patch)
tree2a9de3c4d7a59c73fe50431fe288518be05b4574 /toxcore/Messenger.c
parent378a87d523594e32f9c306707357a5e4e8c19d2d (diff)
Fixed some possible bugs.
Diffstat (limited to 'toxcore/Messenger.c')
-rw-r--r--toxcore/Messenger.c6
1 files changed, 5 insertions, 1 deletions
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
1091 } 1091 }
1092} 1092}
1093 1093
1094 1094#define MIN_SLOTS_FREE 4
1095/* Send file data. 1095/* Send file data.
1096 * 1096 *
1097 * return 1 on success 1097 * return 1 on success
@@ -1108,6 +1108,10 @@ int file_data(Messenger *m, int friendnumber, uint8_t filenumber, uint8_t *data,
1108 if (m->friendlist[friendnumber].file_sending[filenumber].status != FILESTATUS_TRANSFERRING) 1108 if (m->friendlist[friendnumber].file_sending[filenumber].status != FILESTATUS_TRANSFERRING)
1109 return 0; 1109 return 0;
1110 1110
1111 /* Prevent file sending from filling up the entire buffer preventing messages from being sent. */
1112 if (crypto_num_free_sendqueue_slots(m->net_crypto, m->friendlist[friendnumber].crypt_connection_id) < MIN_SLOTS_FREE)
1113 return 0;
1114
1111 uint8_t packet[MAX_DATA_SIZE]; 1115 uint8_t packet[MAX_DATA_SIZE];
1112 packet[0] = filenumber; 1116 packet[0] = filenumber;
1113 memcpy(packet + 1, data, length); 1117 memcpy(packet + 1, data, length);