Hello community, here is the log from the commit of package libfm for openSUSE:Factory checked in at Mon Jun 14 00:34:03 CEST 2010. -------- --- libfm/libfm.changes 2010-05-29 17:03:50.000000000 +0200 +++ /mounts/work_src_done/STABLE/libfm/libfm.changes 2010-06-09 20:52:32.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Jun 9 18:54:39 UTC 2010 - andrea@opensuse.org + +- added libfm-0.1.12-fix-sf3012747.patch to fix pcmanfm crash if + a path beginning with // is used + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- libfm-0.1.12-fix-sf3012747.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libfm.spec ++++++ --- /var/tmp/diff_new_pack.GxZQxV/_old 2010-06-14 00:33:29.000000000 +0200 +++ /var/tmp/diff_new_pack.GxZQxV/_new 2010-06-14 00:33:29.000000000 +0200 @@ -21,13 +21,16 @@ Name: libfm Summary: A glib/gio-based lib used to develop file managers Version: 0.1.12_rc1 -Release: 1 +Release: 2 License: GPLv2 Group: Development/Libraries/C and C++ Url: http://www.lxde.org/ Source0: %name-0.1.12.tar.bz2 Source1: %name-rpmlintrc Patch0: %name-default-config.patch +# PATCH-FIX-UPSTREAM libfm-0.1.12-fix-sf3012747.patch sf#3012747 jreidinger@suse.cz +# this patch fix sf#3012747, fixed a pcmanfm crash when path beginning with // are used +Patch1: %name-0.1.12-fix-sf3012747.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gcc-c++ BuildRequires: gtk2-devel @@ -76,6 +79,7 @@ %prep %setup -q -n %name-0.1.12 %patch0 -p1 +%patch1 -p1 %build export CFLAGS="$RPM_OPT_FLAGS" ++++++ libfm-0.1.12-fix-sf3012747.patch ++++++
From 1751a185ac1dbc33004dd8f26f115d05bc547e83 Mon Sep 17 00:00:00 2001 From: tux
Date: Wed, 9 Jun 2010 19:08:39 +0200 Subject: [PATCH] fix issue with '//' as root (sf#3012747)
Due to posix specification 1003.2 "4.11 Pathname resolution" slash followed by consecutive slash may be interpretted in implementation-defined manner. It is choosen to use // as root because it just confuse users if it become different --- src/base/fm-path.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/base/fm-path.c b/src/base/fm-path.c index 937a9d7..8acd15a 100644 --- a/src/base/fm-path.c +++ b/src/base/fm-path.c @@ -51,8 +51,9 @@ FmPath* fm_path_new(const char* path) if( path[0] == '/' ) /* if this is a absolute native path */ { + do { path = path+1; } while (path[0] == '/'); //fix issue with // (bnc#3012747), also be more paranoic if (path[1]) - return fm_path_new_relative(root, path + 1); + return fm_path_new_relative(root, path); else /* special case: handle root dir */ return fm_path_ref( root ); -- 1.7.0.3 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org