diff --git a/net/sctp/inqueue.c b/net/sctp/inqueue.c index 5c1652181805..c269fb20de6b 100644 --- a/net/sctp/inqueue.c +++ b/net/sctp/inqueue.c @@ -120,7 +120,6 @@ struct sctp_chunk *sctp_inq_pop(struct sctp_inq *queue) /* The assumption is that we are safe to process the chunks * at this time. */ - chunk = queue->in_progress; if (chunk) { /* There is a packet that we have been working on. diff --git a/net/sctp/output.c b/net/sctp/output.c index 23e96305cad7..e76413741faf 100644 --- a/net/sctp/output.c +++ b/net/sctp/output.c @@ -602,6 +602,8 @@ int sctp_packet_transmit(struct sctp_packet *packet, gfp_t gfp) skb_reserve(head, packet->overhead + MAX_HEADER); skb_set_owner_w(head, sk); + memset(head->data, 0, skb_tailroom(head)); + /* set sctp header */ sh = skb_push(head, sizeof(struct sctphdr)); skb_reset_transport_header(head);