summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackendarchive.c
diff options
context:
space:
mode:
authorRoss Lagerwall <rosslagerwall@gmail.com>2014-05-03 18:38:08 +0100
committerRoss Lagerwall <rosslagerwall@gmail.com>2014-05-10 08:27:52 +0100
commit46bdbf1d45962b56f4c30763fbc964890b75d79a (patch)
tree756985bf99e2b4ca5b698af69fb4faaaca59e0de /daemon/gvfsbackendarchive.c
parent990b04f22c6e4d8c8cd10d74b685aaf3bcbf6049 (diff)
downloadgvfs-46bdbf1d45962b56f4c30763fbc964890b75d79a.tar.gz
archive: Ignore filenames consisting of a single "."
Don't abort if a path has a component consisting of a single ".", just ignore that component. E.g. OpenCV-2.3.1/./opencv.pc.cmake.in becomes OpenCV-2.3.1/opencv.pc.cmake.in https://bugzilla.gnome.org/show_bug.cgi?id=729463
Diffstat (limited to 'daemon/gvfsbackendarchive.c')
-rw-r--r--daemon/gvfsbackendarchive.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/daemon/gvfsbackendarchive.c b/daemon/gvfsbackendarchive.c
index b69db2ce..0377c70c 100644
--- a/daemon/gvfsbackendarchive.c
+++ b/daemon/gvfsbackendarchive.c
@@ -297,9 +297,8 @@ archive_file_get_from_path (ArchiveFile *file, const char *filename, gboolean ad
}
else
{
- /* happens when adding directories, their path ends with a / */
- /* Can also happen with "." in e.g. iso files */
- g_assert (names[i + 1] == NULL);
+ /* Ignore empty elements from directories ending with a slash.
+ * Ignore elements consisting of a single "." */
g_free (names[i]);
names[i] = NULL;
cur = file;