Messages in this thread Patch in this message | | | Date | Mon, 16 Jun 2003 19:08:33 -0700 | Subject | [PATCH 2.4] Fix IrIAP skb leak | From | Jean Tourrilhes <> |
| |
ir241_iriap_skb_leak.diff : <Patch from Jan Kiszka> o [CORRECT] Fix obvious skb leak in IrIAP state machines
diff -u -p linux/net/irda/iriap_event.d7.c linux/net/irda/iriap_event.c --- linux/net/irda/iriap_event.d7.c Mon Dec 2 16:24:29 2002 +++ linux/net/irda/iriap_event.c Mon Dec 2 16:25:50 2002 @@ -251,22 +251,25 @@ static void state_s_call(struct iriap_cb static void state_s_make_call(struct iriap_cb *self, IRIAP_EVENT event, struct sk_buff *skb) { + struct sk_buff *tx_skb; + ASSERT(self != NULL, return;); switch (event) { case IAP_CALL_REQUEST: - skb = self->skb; + tx_skb = self->skb; self->skb = NULL; - irlmp_data_request(self->lsap, skb); + irlmp_data_request(self->lsap, tx_skb); iriap_next_call_state(self, S_OUTSTANDING); break; default: IRDA_DEBUG(0, "%s(), Unknown event %d\n", __FUNCTION__, event); - if (skb) - dev_kfree_skb(skb); break; } + /* Cleanup time ! */ + if (skb) + dev_kfree_skb(skb); } /* - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |