Hello community, here is the log from the commit of package dosfstools for openSUSE:Factory checked in at Mon Mar 14 11:37:28 CET 2011.
-------- --- dosfstools/dosfstools.changes 2010-12-20 15:11:46.000000000 +0100 +++ /mounts/work_src_done/STABLE/dosfstools/dosfstools.changes 2011-03-09 12:40:44.000000000 +0100 @@ -1,0 +2,5 @@ +Tue Mar 8 18:13:53 CET 2011 - pgaj...@suse.cz + +- fixed fsck.vfat crashing [bnc#677236] + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- dosfstools-filename-buffer-overflow.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dosfstools.spec ++++++ --- /var/tmp/diff_new_pack.3a9knQ/_old 2011-03-14 11:37:08.000000000 +0100 +++ /var/tmp/diff_new_pack.3a9knQ/_new 2011-03-14 11:37:08.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package dosfstools (Version 3.0.10) +# spec file for package dosfstools # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -25,12 +25,13 @@ AutoReqProv: on Summary: Utilities for Making and Checking MS-DOS FAT File Systems on Linux Version: 3.0.10 -Release: 3 +Release: 14 Url: http://freshmeat.net/projects/dosfstools Source: %{name}_%{version}.orig.tar.bz2 Patch0: %{name}-suse-dirs.patch Patch1: %{name}-mdraid-partition.patch Patch2: %{name}-label.patch +Patch3: %{name}-filename-buffer-overflow.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Supplements: filesystem(vfat) @@ -52,6 +53,7 @@ %patch0 -p1 %patch1 %patch2 -p1 +%patch3 -p1 %build make OPTFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE $RPM_OPT_FLAGS" ++++++ dosfstools-filename-buffer-overflow.patch ++++++ Index: dosfstools-3.0.10/src/check.c =================================================================== --- dosfstools-3.0.10.orig/src/check.c +++ dosfstools-3.0.10/src/check.c @@ -174,7 +174,10 @@ loff_t alloc_rootdir_entry(DOS_FS *fs, D offset = fs->root_start+next_free*sizeof(DIR_ENT); memset(de,0,sizeof(DIR_ENT)); while (1) { - sprintf(de->name,pattern,curr_num); + char expanded[12]; + sprintf(expanded, pattern, curr_num); + memcpy(de->name, expanded, 8); + memcpy(de->ext, expanded+8, 3); for (scan = 0; scan < fs->root_entries; scan++) if (scan != next_free && !strncmp(root[scan].name,de->name,MSDOS_NAME)) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org