| From foo@baz Tue Jan 26 21:35:03 PST 2016 |
| From: Ben Hutchings <ben@decadent.org.uk> |
| Date: Sun, 1 Nov 2015 16:21:24 +0000 |
| Subject: isdn_ppp: Add checks for allocation failure in isdn_ppp_open() |
| |
| From: Ben Hutchings <ben@decadent.org.uk> |
| |
| [ Upstream commit 0baa57d8dc32db78369d8b5176ef56c5e2e18ab3 ] |
| |
| Compile-tested only. |
| |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/isdn/i4l/isdn_ppp.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| --- a/drivers/isdn/i4l/isdn_ppp.c |
| +++ b/drivers/isdn/i4l/isdn_ppp.c |
| @@ -301,6 +301,8 @@ isdn_ppp_open(int min, struct file *file |
| is->compflags = 0; |
| |
| is->reset = isdn_ppp_ccp_reset_alloc(is); |
| + if (!is->reset) |
| + return -ENOMEM; |
| |
| is->lp = NULL; |
| is->mp_seqno = 0; /* MP sequence number */ |
| @@ -320,6 +322,10 @@ isdn_ppp_open(int min, struct file *file |
| * VJ header compression init |
| */ |
| is->slcomp = slhc_init(16, 16); /* not necessary for 2. link in bundle */ |
| + if (!is->slcomp) { |
| + isdn_ppp_ccp_reset_free(is); |
| + return -ENOMEM; |
| + } |
| #endif |
| #ifdef CONFIG_IPPP_FILTER |
| is->pass_filter = NULL; |