Bluetooth: Add missing kmalloc NULL tests to Marvell driver
Check that the result of kmalloc is not NULL before dereferencing it. The patch also replaces kmalloc + memset by kzalloc. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
3318b2362b
commit
5959809ded
1 changed files with 3 additions and 2 deletions
|
@ -777,8 +777,9 @@ static int btmrvl_sdio_host_to_card(struct btmrvl_private *priv,
|
|||
buf = payload;
|
||||
if ((unsigned long) payload & (BTSDIO_DMA_ALIGN - 1)) {
|
||||
tmpbufsz = ALIGN_SZ(nb, BTSDIO_DMA_ALIGN);
|
||||
tmpbuf = kmalloc(tmpbufsz, GFP_KERNEL);
|
||||
memset(tmpbuf, 0, tmpbufsz);
|
||||
tmpbuf = kzalloc(tmpbufsz, GFP_KERNEL);
|
||||
if (!tmpbuf)
|
||||
return -ENOMEM;
|
||||
buf = (u8 *) ALIGN_ADDR(tmpbuf, BTSDIO_DMA_ALIGN);
|
||||
memcpy(buf, payload, nb);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue