summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Mills <ken.k.mills@intel.com>2010-12-13 16:28:03 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-12-16 22:03:13 +0100
commit093d804611b9a38fe59753b37c29f840518406a9 (patch)
tree546e8ef4a08c9a0c125c1a1b1afcbfb1873d3ff2
parentn_gsm: Fix message length handling when building header (diff)
downloadlinux-093d804611b9a38fe59753b37c29f840518406a9.tar.xz
linux-093d804611b9a38fe59753b37c29f840518406a9.zip
n_gsm: gsm_data_alloc buffer allocation could fail and it is not being checked
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> Cc: stable@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/tty/n_gsm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 2fc5cf27152a..c5f8e5bda2b2 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/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);