Am 03.05.2017 17:49, schrieb Colin King: > From: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > Fix two allocation failure checks. Firstly, ensure info is checked > for a failed allocation; this fixes a potential null pointer > dereference issue on info->key. Secondly, free info is info->key > fails to allocate to fix a memory leak. > > Detected by CoverityScan, CID#1430064 ("Resource Leak") > > Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> > --- > drivers/firmware/google/vpd.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/firmware/google/vpd.c b/drivers/firmware/google/vpd.c > index 3ce813110d5e..2eb15b1dabcc 100644 > --- a/drivers/firmware/google/vpd.c > +++ b/drivers/firmware/google/vpd.c > @@ -116,9 +116,13 @@ static int vpd_section_attrib_add(const u8 *key, s32 key_len, > return VPD_OK; > > info = kzalloc(sizeof(*info), GFP_KERNEL); > + if (!info) > + return -ENOMEM; > info->key = kzalloc(key_len + 1, GFP_KERNEL); > - if (!info->key) > + if (!info->key) { > + kfree(info); > return -ENOMEM; > + } > > memcpy(info->key, key, key_len); > the use of key_len+1 looks like preparing space for a string. so kstrdup() seems more fitting. If this is not a string there is also a kmemdup(). re, wh -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html