[dosfstools/f14/master] Fixed dosfslabel on FAT32 (#693662)
Jaroslav Škarvada
jskarvad at fedoraproject.org
Tue Apr 5 11:49:36 UTC 2011
commit 7652ca75ba3155d3ff856a77de2e59252788a883
Author: Jaroslav Škarvada <jskarvad at redhat.com>
Date: Tue Apr 5 13:49:34 2011 +0200
Fixed dosfslabel on FAT32 (#693662)
dosfstools-3.0.9-dosfslabel-fat32.patch | 37 +++++++++++++++++++++++++++++++
dosfstools.spec | 8 ++++++-
2 files changed, 44 insertions(+), 1 deletions(-)
---
diff --git a/dosfstools-3.0.9-dosfslabel-fat32.patch b/dosfstools-3.0.9-dosfslabel-fat32.patch
new file mode 100644
index 0000000..ab28770
--- /dev/null
+++ b/dosfstools-3.0.9-dosfslabel-fat32.patch
@@ -0,0 +1,37 @@
+diff -up dosfstools-3.0.9/src/dosfslabel.c.old dosfstools-3.0.9/src/dosfslabel.c
+--- dosfstools-3.0.9/src/dosfslabel.c.old 2010-01-23 10:13:31.000000000 +0100
++++ dosfstools-3.0.9/src/dosfslabel.c 2011-04-05 10:56:24.642612056 +0200
+@@ -85,7 +85,7 @@ static void check_atari( void )
+
+ int main(int argc, char *argv[])
+ {
+- DOS_FS fs;
++ DOS_FS fs = {0};
+ rw = 0;
+
+ char *device = NULL;
+@@ -116,6 +116,8 @@ int main(int argc, char *argv[])
+
+ fs_open(device, rw);
+ read_boot(&fs);
++ if (fs.fat_bits == 32)
++ read_fat(&fs);
+ if (!rw) {
+ fprintf(stdout, "%s\n", fs.label);
+ exit(0);
+diff -up dosfstools-3.0.9/src/fat.c.old dosfstools-3.0.9/src/fat.c
+--- dosfstools-3.0.9/src/fat.c.old 2010-01-23 10:13:34.000000000 +0100
++++ dosfstools-3.0.9/src/fat.c 2011-04-05 10:57:22.659733090 +0200
+@@ -89,8 +89,10 @@ void read_fat(DOS_FS *fs)
+ unsigned long total_num_clusters;
+
+ /* Clean up from previous pass */
+- free(fs->fat);
+- free(fs->cluster_owner);
++ if (fs->fat)
++ free(fs->fat);
++ if (fs->cluster_owner)
++ free(fs->cluster_owner);
+ fs->fat = NULL;
+ fs->cluster_owner = NULL;
+
diff --git a/dosfstools.spec b/dosfstools.spec
index 463d100..ebec748 100644
--- a/dosfstools.spec
+++ b/dosfstools.spec
@@ -1,7 +1,7 @@
Name: dosfstools
Summary: Utilities for making and checking MS-DOS FAT filesystems on Linux
Version: 3.0.9
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv3+
Group: Applications/System
Source0: http://www.daniel-baumann.ch/software/dosfstools/%{name}-%{version}.tar.bz2
@@ -9,6 +9,8 @@ URL: http://www.daniel-baumann.ch/software/dosfstools/
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Fix buffer overflow in alloc_rootdir_entry (#674095)
Patch0: dosfstools-3.0.9-fix-alloc-rootdir-entry.patch
+# Fix dosfslable on FAT32 (#693662)
+Patch1: dosfstools-3.0.9-dosfslabel-fat32.patch
%description
The dosfstools package includes the mkdosfs and dosfsck utilities,
@@ -18,6 +20,7 @@ drives or on floppies.
%prep
%setup -q
%patch0 -p1 -b .fix-alloc-rootdir-entry
+%patch1 -p1 -b .dosfslabel-fat32
%build
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-strict-aliasing"
@@ -36,6 +39,9 @@ rm -rf %{buildroot}
%{_mandir}/man8/*
%changelog
+* Tue Apr 05 2011 Jaroslav Škarvada <jskarvad at redhat.com> - 3.0.9-6
+- Fixed dosfslabel on FAT32 (#693662)
+
* Mon Jan 31 2011 Jaroslav Škarvada <jskarvad at redhat.com> - 3.0.9-5
- Fixed buffer overflow in alloc_rootdir_entry (#674095)
- Dropped fix-reclaim-file patch, obsoleted by fix-alloc-rootdir-entry patch
More information about the scm-commits
mailing list