summaryrefslogtreecommitdiff
path: root/toxcore/friend_connection.c
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2014-12-11 13:54:55 -0500
committerirungentoo <irungentoo@gmail.com>2014-12-11 13:54:55 -0500
commitd7f57132772e69c2f9f3596c6525d9d37393f9be (patch)
treeb625a1395d2ea97f1ab87d06340a203d9e14832f /toxcore/friend_connection.c
parent4eeeb8e9abb4de9522f46bc8f2c52fb34653776f (diff)
Fixed crash when connection was killed during the packet callback.
Diffstat (limited to 'toxcore/friend_connection.c')
-rw-r--r--toxcore/friend_connection.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/toxcore/friend_connection.c b/toxcore/friend_connection.c
index aaffe02f..894ba61a 100644
--- a/toxcore/friend_connection.c
+++ b/toxcore/friend_connection.c
@@ -274,6 +274,11 @@ static int handle_packet(void *object, int number, uint8_t *data, uint16_t lengt
274 if (friend_con->callbacks[i].data_callback) 274 if (friend_con->callbacks[i].data_callback)
275 friend_con->callbacks[i].data_callback(friend_con->callbacks[i].data_callback_object, 275 friend_con->callbacks[i].data_callback(friend_con->callbacks[i].data_callback_object,
276 friend_con->callbacks[i].data_callback_id, data, length); 276 friend_con->callbacks[i].data_callback_id, data, length);
277
278 friend_con = get_conn(fr_c, number);
279
280 if (!friend_con)
281 return -1;
277 } 282 }
278 283
279 return 0; 284 return 0;
@@ -296,6 +301,11 @@ static int handle_lossy_packet(void *object, int number, const uint8_t *data, ui
296 if (friend_con->callbacks[i].lossy_data_callback) 301 if (friend_con->callbacks[i].lossy_data_callback)
297 friend_con->callbacks[i].lossy_data_callback(friend_con->callbacks[i].lossy_data_callback_object, 302 friend_con->callbacks[i].lossy_data_callback(friend_con->callbacks[i].lossy_data_callback_object,
298 friend_con->callbacks[i].lossy_data_callback_id, data, length); 303 friend_con->callbacks[i].lossy_data_callback_id, data, length);
304
305 friend_con = get_conn(fr_c, number);
306
307 if (!friend_con)
308 return -1;
299 } 309 }
300 310
301 return 0; 311 return 0;