[Parted-commits] GNU Parted Official Repository: Changes to 'next'
Jim Meyering
meyering at alioth.debian.org
Wed Oct 28 14:44:25 UTC 2009
libparted/filesys.c | 1 +
libparted/labels/gpt.c | 5 +++++
parted/parted.c | 17 ++++++++++-------
3 files changed, 16 insertions(+), 7 deletions(-)
New commits:
commit 714ad62cee7e8b8efc21e228ce12730def72fac6
Author: Jim Meyering <meyering at redhat.com>
Date: Tue Oct 27 23:10:35 2009 +0100
ui: plug a constraint leak in do_mkpart
* parted/parted.c (do_mkpart): Free constraint after using it to
add partition.
diff --git a/parted/parted.c b/parted/parted.c
index 955c8a2..79e50ad 100644
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -787,8 +787,11 @@ do_mkpart (PedDevice** dev)
if (!added_ok) {
ped_exception_leave_all();
- if (ped_disk_add_partition (disk, part,
- ped_constraint_any (*dev))) {
+ PedConstraint *constraint_any = ped_constraint_any (*dev);
+ bool added_ok = ped_disk_add_partition (disk, part,
+ constraint_any);
+ ped_constraint_destroy (constraint_any);
+ if (added_ok) {
start_usr = ped_unit_format (*dev, start);
end_usr = ped_unit_format (*dev, end);
start_sol = ped_unit_format (*dev, part->geom.start);
commit 89cb07e488b63e7ab93fe6b2a0ca0fea2de9142f
Author: Jim Meyering <meyering at redhat.com>
Date: Tue Oct 27 22:44:04 2009 +0100
gpt: plug two gpt-header leaks in gpt_read_headers
* libparted/labels/gpt.c (gpt_read_headers): Free locals pri and/or
bak if they are not valid.
diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
index c5679a6..8b77c51 100644
--- a/libparted/labels/gpt.c
+++ b/libparted/labels/gpt.c
@@ -869,6 +869,8 @@ gpt_read_headers (PedDisk const *disk,
bool valid_primary = _header_is_valid (disk, pri, 1);
if (valid_primary)
*primary_gpt = pri;
+ else
+ pth_free (pri);
PedSector backup_sector_num =
(valid_primary
@@ -889,6 +891,8 @@ gpt_read_headers (PedDisk const *disk,
*backup_gpt = bak;
*backup_sector_num_p = backup_sector_num;
}
+ else
+ pth_free (bak);
return 0;
}
commit d58d5932590bee884cde793e13c692769731b5bf
Author: Jim Meyering <meyering at redhat.com>
Date: Tue Oct 27 22:38:02 2009 +0100
gpt: plug a 1-sector leak in gpt_read_headers
* libparted/labels/gpt.c (gpt_read_headers): Free a sector.
diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
index a81d8c8..c5679a6 100644
--- a/libparted/labels/gpt.c
+++ b/libparted/labels/gpt.c
@@ -879,6 +879,7 @@ gpt_read_headers (PedDisk const *disk,
if (!ptt_read_sector (dev, backup_sector_num, &s_bak))
return 1;
t = pth_new_from_raw (dev, s_bak);
+ free (s_bak);
if (t == NULL)
return 1;
commit 8b5954a7223939699cb14fd120129307a446070a
Author: Jim Meyering <meyering at redhat.com>
Date: Tue Oct 27 21:42:25 2009 +0100
ui: plug a leak (partition_print_flags)
* parted/parted.c (do_print): Free flags, after printing.
diff --git a/parted/parted.c b/parted/parted.c
index 30500db..955c8a2 100644
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -1197,16 +1197,14 @@ partition_print_flags (PedPartition* part)
first_flag = 0;
else {
_res = res;
- ped_realloc (&_res, strlen (res)
- + 1 + 2);
+ ped_realloc (&_res, strlen (res) + 1 + 2);
res = _res;
strncat (res, ", ", 2);
}
name = _(ped_partition_flag_get_name (flag));
_res = res;
- ped_realloc (&_res, strlen (res) + 1
- + strlen (name));
+ ped_realloc (&_res, strlen (res) + 1 + strlen (name));
res = _res;
strncat (res, name, 21);
}
@@ -1572,7 +1570,9 @@ do_print (PedDevice** dev)
else
putchar (':');
- printf ("%s;\n", partition_print_flags (part));
+ char *flags = partition_print_flags (part);
+ printf ("%s;\n", flags);
+ free (flags);
} else {
puts ("free;");
commit a1fc9eb125279bad126783ed54689cf271e20801
Author: Jim Meyering <meyering at redhat.com>
Date: Tue Oct 27 21:36:30 2009 +0100
libparted: plug an FS-alias-related leak
* libparted/filesys.c (ped_file_system_alias_unregister):
Free the alias we've just unregistered.
diff --git a/libparted/filesys.c b/libparted/filesys.c
index 8bdffb5..ebebe47 100644
--- a/libparted/filesys.c
+++ b/libparted/filesys.c
@@ -114,6 +114,7 @@ ped_file_system_alias_unregister (PedFileSystemType* fs_type,
last->next = walk->next;
else
fs_aliases = walk->next;
+ free (walk);
}
/**
More information about the Parted-commits
mailing list