[Parted-commits] GNU Parted Official Repository: Changes to 'master'

Jim Meyering meyering at alioth.debian.org
Thu Mar 5 17:21:35 UTC 2009


 libparted/labels/gpt.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit b0998c56f256f2d3b6c53bea6f3af6e3fc9f262d
Author: Petr Uzel <petr.uzel at suse.cz>
Date:   Thu Mar 5 16:52:20 2009 +0100

    gpt: plug a memory leak in gpt_read()
    
    * libparted/labels/gpt.c (gpt_read): Free local variable, "zeros".

diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
index be8f264..cc03b0b 100644
--- a/libparted/labels/gpt.c
+++ b/libparted/labels/gpt.c
@@ -833,7 +833,6 @@ gpt_read (PedDisk * disk)
 
 		if ((PedSector) PED_LE64_TO_CPU (gpt->AlternateLBA)
 				< disk->dev->length - 1) {
-			char* zeros = ped_malloc (pth_get_size (disk->dev));
 
 #ifndef DISCOVER_ONLY
 			switch (ped_exception_throw (
@@ -846,11 +845,16 @@ gpt_read (PedDisk * disk)
 				case PED_EXCEPTION_CANCEL:
 					goto error_free_gpt;
 				case PED_EXCEPTION_FIX:
+					{
+					char *zeros =
+					  ped_malloc (pth_get_size (disk->dev));
 					write_back = 1;
 					memset (zeros, 0, disk->dev->sector_size);
 					ped_device_write (disk->dev, zeros,
 							  PED_LE64_TO_CPU (gpt->AlternateLBA),
 							  1);
+					free (zeros);
+					}
 					break;
 				default:
 					break;



More information about the Parted-commits mailing list