amd64_edac: Fix potential memleak
authorBorislav Petkov <[email protected]>
Tue, 29 Mar 2011 16:10:53 +0000 (18:10 +0200)
committerBorislav Petkov <[email protected]>
Tue, 29 Mar 2011 16:19:06 +0000 (18:19 +0200)
We check the pointers together but at least one of them could be invalid
due to failed allocation. Since we cannot continue if either of the two
allocations has failed, exit early by freeing them both.

Cc: <[email protected]> # 38.x
Reported-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
drivers/edac/amd64_edac.c

index 0be30e978c859c46a3c576b92a49e750453b390f..31e71c4fc83171e7da846740533f63131189327b 100644 (file)
@@ -2679,7 +2679,7 @@ static int __init amd64_edac_init(void)
        mcis      = kzalloc(amd_nb_num() * sizeof(mcis[0]), GFP_KERNEL);
        ecc_stngs = kzalloc(amd_nb_num() * sizeof(ecc_stngs[0]), GFP_KERNEL);
        if (!(mcis && ecc_stngs))
-               goto err_ret;
+               goto err_free;
 
        msrs = msrs_alloc();
        if (!msrs)