It appears that 'new' can be allocated, and next time around
the loop, if something goes wrong, we lose the reference..
Spotted with the source checker from Coverity.com.
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
cpc_writel(card->hw.scabase + DRX_REG(EDAL, ch),
RX_BD_ADDR(ch, pc300chan->rx_last_bd));
}
+ if (new) {
+ kfree(new);
+ new = NULL;
+ }
return;
}
cpc_tty->name);
cpc_tty_rx_disc_frame(pc300chan);
rx_len = 0;
- kfree((unsigned char *)new);
+ kfree(new);
+ new = NULL;
break; /* read next frame - while(1) */
}
cpc_tty_rx_disc_frame(pc300chan);
stats->rx_dropped++;
rx_len = 0;
- kfree((unsigned char *)new);
+ kfree(new);
+ new = NULL;
break; /* read next frame - while(1) */
}