Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package parted; this fixes a crash when trying to resize fat16 filesystems. CCing debian-boot since this would need a d-i ack too. diff -Nru parted-3.2/debian/.git-dpm parted-3.2/debian/.git-dpm --- parted-3.2/debian/.git-dpm 2014-09-19 15:41:38.000000000 +0100 +++ parted-3.2/debian/.git-dpm 2014-11-06 12:21:49.000000000 +0000 @@ -1,6 +1,6 @@ # see git-dpm(1) from git-dpm package -5e4e122454ac8ecf5b5fc006c0b03f0e8adc6c7c -5e4e122454ac8ecf5b5fc006c0b03f0e8adc6c7c +bdfd201a2f5b8090c7ba1208fe5531d0dceecf49 +bdfd201a2f5b8090c7ba1208fe5531d0dceecf49 a3803540db7f12359a111d6449159b91032c253f a3803540db7f12359a111d6449159b91032c253f parted_3.2.orig.tar.xz diff -Nru parted-3.2/debian/changelog parted-3.2/debian/changelog --- parted-3.2/debian/changelog 2014-09-19 15:44:41.000000000 +0100 +++ parted-3.2/debian/changelog 2015-03-19 10:58:59.000000000 +0000 @@ -1,3 +1,15 @@ +parted (3.2-7) unstable; urgency=medium + + [ Phillip Susi ] + * Cherry pick upstream patch to fix a crash when resizing fat16 + (LP: #1342255). + + [ Colin Watson ] + * Drop libparted2's alternative Suggests on nparted, which has not been in + Debian for a decade or so. + + -- Colin Watson <cjwat...@debian.org> Thu, 19 Mar 2015 10:58:55 +0000 + parted (3.2-6) unstable; urgency=medium [ Steven Chamberlain ] diff -Nru parted-3.2/debian/control parted-3.2/debian/control --- parted-3.2/debian/control 2014-09-19 15:38:08.000000000 +0100 +++ parted-3.2/debian/control 2015-03-19 10:52:48.000000000 +0000 @@ -68,7 +68,7 @@ Section: libs Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Suggests: parted | nparted, libparted-dev, libparted-i18n (= ${source:Version}) +Suggests: parted, libparted-dev, libparted-i18n (= ${source:Version}) Conflicts: parted (<< 1.4.13+14pre1), libparted1 (<< 2.2) Replaces: libparted0 (<< 2.2-4), libparted1 (<< 2.2), libparted1.4 (<< 1.4.24-2) Provides: libparted diff -Nru parted-3.2/debian/patches/fat16-resize-crash.patch parted-3.2/debian/patches/fat16-resize-crash.patch --- parted-3.2/debian/patches/fat16-resize-crash.patch 1970-01-01 01:00:00.000000000 +0100 +++ parted-3.2/debian/patches/fat16-resize-crash.patch 2014-11-06 12:21:49.000000000 +0000 @@ -0,0 +1,56 @@ +From bdfd201a2f5b8090c7ba1208fe5531d0dceecf49 Mon Sep 17 00:00:00 2001 +From: Mike Fleetwood <mike.fleetw...@googlemail.com> +Date: Sun, 28 Sep 2014 16:15:48 +0100 +Subject: lib-fs-resize: Prevent crash resizing FAT16 file systems + +Resizing FAT16 file system crashes in libparted/fs/r/fat/resize.c +create_resize_context() because it was dereferencing NULL pointer +fs_info->info_sector to copy the info_sector. + +Only FAT32 file systems have info_sector populated by fat_open() -> +fat_info_sector_read(). FAT12 and FAT16 file systems don't have an +info_sector so pointer fs_info->info_sector remains assigned NULL from +fat_alloc(). When resizing a FAT file system create_resize_context() +was always dereferencing fs_info->info_sector to memory copy the +info_sector, hence it crashed for FAT12 and FAT16. + +Make create_resize_context() only copy the info_sector for FAT32 file +systems. + +Reported by Christian Hesse in +https://bugzilla.gnome.org/show_bug.cgi?id=735669 + +Origin: upstream, http://git.savannah.gnu.org/cgit/parted.git/commit/?id=1e9e770f4bc7f3d80e09ecd1df58575fad064163 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=735669 +Last-Update: 2014-11-06 + +Patch-Name: fat16-resize-crash.patch +--- + libparted/fs/r/fat/resize.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/libparted/fs/r/fat/resize.c b/libparted/fs/r/fat/resize.c +index 919acf0..bfe60a0 100644 +--- a/libparted/fs/r/fat/resize.c ++++ b/libparted/fs/r/fat/resize.c +@@ -668,11 +668,17 @@ create_resize_context (PedFileSystem* fs, const PedGeometry* new_geom) + + /* preserve boot code, etc. */ + new_fs_info->boot_sector = ped_malloc (new_geom->dev->sector_size); +- new_fs_info->info_sector = ped_malloc (new_geom->dev->sector_size); + memcpy (new_fs_info->boot_sector, fs_info->boot_sector, + new_geom->dev->sector_size); +- memcpy (new_fs_info->info_sector, fs_info->info_sector, +- new_geom->dev->sector_size); ++ new_fs_info->info_sector = NULL; ++ if (fs_info->fat_type == FAT_TYPE_FAT32) ++ { ++ PED_ASSERT (fs_info->info_sector != NULL); ++ new_fs_info->info_sector = ++ ped_malloc (new_geom->dev->sector_size); ++ memcpy (new_fs_info->info_sector, fs_info->info_sector, ++ new_geom->dev->sector_size); ++ } + + new_fs_info->logical_sector_size = fs_info->logical_sector_size; + new_fs_info->sector_count = new_geom->length; diff -Nru parted-3.2/debian/patches/series parted-3.2/debian/patches/series --- parted-3.2/debian/patches/series 2014-09-19 15:38:08.000000000 +0100 +++ parted-3.2/debian/patches/series 2014-11-06 12:21:49.000000000 +0000 @@ -13,3 +13,4 @@ fat-resize-large-sectors.patch align-new-partitions-on-fresh-disks.patch probe-lvs-again.patch +fat16-resize-crash.patch unblock parted/3.2-7 Thanks, -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-release-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150326102145.ga28...@riva.ucam.org