Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
do not try to remove an out-of-index piece
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Mon, 27 Feb 2017 08:47:50 +0000 (09:47 +0100)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Mon, 27 Feb 2017 08:47:50 +0000 (09:47 +0100)
should please sanitizer

examples/msg/app-bittorrent/peer.c

index b7d360f..ee19ff2 100644 (file)
@@ -353,7 +353,8 @@ void handle_message(peer_t peer, msg_task_t task)
     xbt_assert((remote_peer != NULL), "A non-in-our-list peer has sent us a message. WTH ?");
     xbt_assert(!remote_peer->choked_download);
     remote_peer->choked_download = 1;
     xbt_assert((remote_peer != NULL), "A non-in-our-list peer has sent us a message. WTH ?");
     xbt_assert(!remote_peer->choked_download);
     remote_peer->choked_download = 1;
-    remove_current_piece(peer, remote_peer, remote_peer->current_piece);
+    if (remote_peer->current_piece != -1)
+      remove_current_piece(peer, remote_peer, remote_peer->current_piece);
     break;
   case MESSAGE_HAVE:
     XBT_DEBUG("\t for piece %d", message->index);
     break;
   case MESSAGE_HAVE:
     XBT_DEBUG("\t for piece %d", message->index);