Thread (6 messages) flat view 6 messages, 2 authors, 2014-07-11

Re: [PATCH v2] farsync: fix invalid memory accesses in fst_add_one() and fst_init_card()

From: David Miller <davem@davemloft.net>
Date: 2014-07-11 20:38:14
Also in: lkml

From: Alexey Khoroshilov <redacted>
Date: Thu, 10 Jul 2014 18:43:01 -0400
There are several issues in fst_add_one() and fst_init_card():
- invalid pointer dereference at card->ports[card->nports - 1] if
  register_hdlc_device() fails for the first port in fst_init_card();
- fst_card_array overflow at fst_card_array[no_of_cards_added]
  because there is no checks for array overflow;
- use after free because pointer to deallocated card is left in fst_card_array
  if something fails after fst_card_array[no_of_cards_added] = card;
- several leaks on failure paths in fst_add_one().

The patch fixes all the issues and makes code more readable.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <redacted>
Applied, thanks Alexey.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help