tulip: Fix null dereference in uli526x_rx_packet()

Acked-by: Grant Grundler <grundler@parisc-linux.org>

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Kyle McMartin 2009-03-27 17:23:32 +00:00 committed by David S. Miller
parent a6d36d5689
commit ac90a14936
1 changed files with 5 additions and 3 deletions

View File

@ -851,13 +851,15 @@ static void uli526x_rx_packet(struct net_device *dev, struct uli526x_board_info
if ( !(rdes0 & 0x8000) || if ( !(rdes0 & 0x8000) ||
((db->cr6_data & CR6_PM) && (rxlen>6)) ) { ((db->cr6_data & CR6_PM) && (rxlen>6)) ) {
struct sk_buff *new_skb = NULL;
skb = rxptr->rx_skb_ptr; skb = rxptr->rx_skb_ptr;
/* Good packet, send to upper layer */ /* Good packet, send to upper layer */
/* Shorst packet used new SKB */ /* Shorst packet used new SKB */
if ( (rxlen < RX_COPY_SIZE) && if ((rxlen < RX_COPY_SIZE) &&
( (skb = dev_alloc_skb(rxlen + 2) ) ((new_skb = dev_alloc_skb(rxlen + 2) != NULL))) {
!= NULL) ) { skb = new_skb;
/* size less than COPY_SIZE, allocate a rxlen SKB */ /* size less than COPY_SIZE, allocate a rxlen SKB */
skb_reserve(skb, 2); /* 16byte align */ skb_reserve(skb, 2); /* 16byte align */
memcpy(skb_put(skb, rxlen), memcpy(skb_put(skb, rxlen),