From 708ea5e11a1e3f905cd19d288fa96dd8ebc3e2c1 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 2 Apr 2009 17:04:48 +0000 Subject: =?UTF-8?q?Bug=20577748=20=E2=80=93=20gvfsd-smb=20crash=20after=20?= =?UTF-8?q?unconnecting=20and=20connecting=20again=20a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2009-04-02 Alexander Larsson Bug 577748 – gvfsd-smb crash after unconnecting and connecting again a smb share * daemon/gvfsbackendsmb.c (set_info_from_stat): Don't crash if basename is NULL svn path=/trunk/; revision=2361 --- ChangeLog | 7 +++++++ daemon/gvfsbackendsmb.c | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 723c8fd6..058e9484 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-04-02 Alexander Larsson + + Bug 577748 – gvfsd-smb crash after unconnecting and connecting again a smb share + + * daemon/gvfsbackendsmb.c (set_info_from_stat): + Don't crash if basename is NULL + 2009-04-02 Alexander Larsson * NEWS: diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c index 877c6ad8..14a5a589 100644 --- a/daemon/gvfsbackendsmb.c +++ b/daemon/gvfsbackendsmb.c @@ -1474,15 +1474,17 @@ set_info_from_stat (GVfsBackendSmb *backend, G_FILE_ATTRIBUTE_STANDARD_ICON)) { icon = NULL; + content_type = NULL; + if (S_ISDIR(statbuf->st_mode)) { content_type = g_strdup ("inode/directory"); - if (strcmp (basename, "/") == 0) + if (basename != NULL && strcmp (basename, "/") == 0) icon = g_themed_icon_new ("folder-remote"); else icon = g_themed_icon_new ("folder"); } - else + else if (basename != NULL) { content_type = g_content_type_guess (basename, NULL, 0, NULL); if (content_type) -- cgit v1.2.1