diff options
author | Sjur Braendeland <sjur.brandeland@stericsson.com> | 2010-05-21 02:16:09 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-24 06:57:42 (GMT) |
commit | 638e628a600a5c542d46dfb06771cf9c229ef5f3 (patch) | |
tree | 777d4d2b9aee8a1d4b0ce522bf3957023a9bfb7e /net/caif/cfsrvl.c | |
parent | 7aecf4944f2c05aafb73b4820e469c74b4ec8517 (diff) | |
download | linux-638e628a600a5c542d46dfb06771cf9c229ef5f3.tar.xz |
caif: Bugfix - handle mem-allocation failures
Discovered bugs when injecting slab allocation failures.
Add checks on all memory allocation.
Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/caif/cfsrvl.c')
-rw-r--r-- | net/caif/cfsrvl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/caif/cfsrvl.c b/net/caif/cfsrvl.c index aff31f3..6e5b7079 100644 --- a/net/caif/cfsrvl.c +++ b/net/caif/cfsrvl.c @@ -123,6 +123,12 @@ static int cfservl_modemcmd(struct cflayer *layr, enum caif_modemcmd ctrl) struct caif_payload_info *info; u8 flow_off = SRVL_FLOW_OFF; pkt = cfpkt_create(SRVL_CTRL_PKT_SIZE); + if (!pkt) { + pr_warning("CAIF: %s(): Out of memory\n", + __func__); + return -ENOMEM; + } + if (cfpkt_add_head(pkt, &flow_off, 1) < 0) { pr_err("CAIF: %s(): Packet is erroneous!\n", __func__); |