summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Mills <ken.k.mills@intel.com>2010-12-13 15:28:03 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2011-01-07 13:58:37 -0800
commit43d896499a436a46ec95c0eb501d1d1e8aae84a8 (patch)
treec64bd0c1747c37c83e78a8c6940e7eb12184ca2c
parentbd7e2ae3d4fe121c09a12ad1917b5d8e0200d95f (diff)
n_gsm: gsm_data_alloc buffer allocation could fail and it is not being checked
commit 093d804611b9a38fe59753b37c29f840518406a9 upstream. gsm_data_alloc buffer allocation could fail and it is not being checked. Add check for allocated buffer and return if the buffer allocation fails. Signed-off-by: Ken Mills <ken.k.mills@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/char/n_gsm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/char/n_gsm.c b/drivers/char/n_gsm.c
index bc0aef65e643..0e62674072eb 100644
--- a/drivers/char/n_gsm.c
+++ b/drivers/char/n_gsm.c
@@ -968,6 +968,8 @@ static void gsm_control_reply(struct gsm_mux *gsm, int cmd, u8 *data,
{
struct gsm_msg *msg;
msg = gsm_data_alloc(gsm, 0, dlen + 2, gsm->ftype);
+ if (msg == NULL)
+ return;
msg->data[0] = (cmd & 0xFE) << 1 | EA; /* Clear C/R */
msg->data[1] = (dlen << 1) | EA;
memcpy(msg->data + 2, data, dlen);