From: Martin Willi Date: Mon, 12 Dec 2011 14:43:12 +0000 (+0100) Subject: Double check if we have a packet before retransmitting it X-Git-Tag: 5.0.0~338^2~9^2~256 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9862852823373eea1a41a5b7b74f59973b342ab0;p=thirdparty%2Fstrongswan.git Double check if we have a packet before retransmitting it --- diff --git a/src/libcharon/sa/task_manager_v1.c b/src/libcharon/sa/task_manager_v1.c index b20a9ac365..2af0ba2ac5 100755 --- a/src/libcharon/sa/task_manager_v1.c +++ b/src/libcharon/sa/task_manager_v1.c @@ -871,12 +871,12 @@ METHOD(task_manager_t, process_message, status_t, else { hash = chunk_hash(msg->get_packet_data(msg)); - if (hash == this->responding.hash) + if (hash == this->responding.hash && this->responding.packet) { DBG1(DBG_IKE, "received retransmit of request with ID %d, " "retransmitting response", mid); charon->sender->send(charon->sender, - this->responding.packet->clone(this->responding.packet)); + this->responding.packet->clone(this->responding.packet)); return SUCCESS; } msg->set_request(msg, TRUE);