rtlwifi: fix null dereference on efuse_word on kmalloc fail returns NULL
authorColin Ian King <colin.king@canonical.com>
Mon, 28 Oct 2013 12:58:12 +0000 (12:58 +0000)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 11 Nov 2013 19:38:58 +0000 (14:38 -0500)
commit450991fd2f9d362562c69b2e70832b2ecb7624cb
tree6a476e9d713a987c4ec7af8182c82cb832e88cdd
parent01c85adfff5a8462aeea70796314c39dab1d9cc2
rtlwifi: fix null dereference on efuse_word on kmalloc fail returns NULL

kmalloc on efuse_word can return null, leading to free'ing of
elements in efuse_word on the error exit path even though it has not
been allocated.  Instead, don't free the elements of efuse_word if
kmalloc failed.

Also, kmalloc of any of the arrays in efuse_word[] can also fail,
leading to undefined contents in the remaining elements leading to
problems when free'ing these elements later on.  So kzalloc efuse_word
to ensure the kfree on the remaining elements won't cause breakage.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtlwifi/efuse.c