n_gsm: gsm_data_alloc buffer allocation could fail and it is not being checked
authorKen Mills <ken.k.mills@intel.com>
Mon, 13 Dec 2010 15:28:03 +0000 (15:28 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 16 Dec 2010 21:03:13 +0000 (13:03 -0800)
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>
drivers/tty/n_gsm.c

index 2fc5cf27152a23d975f26ec9fac2a143aa220ead..c5f8e5bda2b29c4606f3245ba9388f943d3f2147 100644 (file)
@@ -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);