From de6a03561cffb0c47ff2a9c192d611b9ebb616d6 Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Dec 08 2010 13:45:08 +0000 Subject: fix VFS crashes (#661290, #588795, #653156, #660308) --- diff --git a/mc-vfscrash.patch b/mc-vfscrash.patch new file mode 100644 index 0000000..510d517 --- /dev/null +++ b/mc-vfscrash.patch @@ -0,0 +1,29 @@ +diff -up mc-4.7.5-pre1/lib/vfs/mc-vfs/direntry.c.vfscrash mc-4.7.5-pre1/lib/vfs/mc-vfs/direntry.c +--- mc-4.7.5-pre1/lib/vfs/mc-vfs/direntry.c.vfscrash 2010-12-06 12:03:44.000000000 +0100 ++++ mc-4.7.5-pre1/lib/vfs/mc-vfs/direntry.c 2010-12-08 14:27:08.975092483 +0100 +@@ -1166,8 +1166,12 @@ vfs_s_open (struct vfs_class *me, const + } + + split_dir_name (me, q, &dirname, &name, &save); +- /* FIXME: check if vfs_s_find_inode returns NULL */ + dir = vfs_s_find_inode (me, super, dirname, LINK_FOLLOW, FL_DIR); ++ if (dir == NULL) ++ { ++ g_free (q); ++ return NULL; ++ } + if (save) + *save = PATH_SEP; + ent = vfs_s_generate_entry (me, name, dir, 0755); +diff -up mc-4.7.5-pre1/lib/vfs/mc-vfs/gc.c.vfscrash mc-4.7.5-pre1/lib/vfs/mc-vfs/gc.c +--- mc-4.7.5-pre1/lib/vfs/mc-vfs/gc.c.vfscrash 2010-12-03 09:53:38.000000000 +0100 ++++ mc-4.7.5-pre1/lib/vfs/mc-vfs/gc.c 2010-12-08 14:35:37.886866014 +0100 +@@ -222,7 +222,7 @@ vfs_stamp_create (struct vfs_class *oldv + n3vfsid = NULL; + } + +- if (!oldvfs->nothingisopen || !(*oldvfs->nothingisopen) (oldvfsid)) ++ if (!oldvfs || !oldvfs->nothingisopen || !(*oldvfs->nothingisopen) (oldvfsid)) + return; + + vfs_addstamp (oldvfs, oldvfsid); diff --git a/mc.spec b/mc.spec index 4aa1fd5..59f730a 100644 --- a/mc.spec +++ b/mc.spec @@ -1,7 +1,7 @@ Summary: User-friendly text console file manager and visual shell Name: mc Version: 4.7.5 -Release: 0.1.pre1%{?dist} +Release: 0.2.pre1%{?dist} Epoch: 1 License: GPLv2 Group: System Environment/Shells @@ -14,6 +14,7 @@ Requires: dev >= 3.3-3 Patch0: mc-extensions.patch Patch1: mc-mcviewsegfault.patch +Patch2: mc-vfscrash.patch %description Midnight Commander is a visual shell much like a file manager, only @@ -26,6 +27,7 @@ specific files. %setup -q -n mc-4.7.5-pre1 %patch0 -p1 -b .extensions %patch1 -p1 -b .mcviewsegfault +%patch2 -p1 -b .vfscrash %build export CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $RPM_OPT_FLAGS -Wno-strict-aliasing" @@ -83,6 +85,10 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libexecdir}/mc/extfs.d %changelog +* Wed Dec 8 2010 Jindrich Novy 4.7.5-0.2.pre1 +- fix crash in opening mc VFS (#661290, #588795, #653156) +- fix crash while creating a VFS timestamp (#660308) + * Wed Dec 8 2010 Jindrich Novy 4.7.5-0.1.pre1 - update to 4.7.5 stable prerelease