Skip to content
  1. Feb 26, 2020
  2. Sep 06, 2019
  3. Jun 28, 2019
  4. Apr 13, 2019
  5. Jan 30, 2019
    • Bastien Nocera's avatar
      thumbnail: Fix runtime warning getting a preview icon · bc517fd8
      Bastien Nocera authored
      If we tried to get a preview thumbnail for a file, but that preview icon
      did not exist, then we'd generate a warning trying to add a reference to
      that GIcon.
      
      Fixes: e629e46a
      bc517fd8
    • Mart Raudsepp's avatar
      thumbnail: bind mount /etc/ld.so.cache to the sandbox · 8815e5b9
      Mart Raudsepp authored and Bastien Nocera's avatar Bastien Nocera committed
      This is especially important for libstdc++ on distributions that
      don't have it directly in a libdir and the runtime linker doesn't
      look where needed without /etc/ld.so.cache (e.g. if libstdc++ is
      in a GCC per-version subdirectory handled via /etc/ld.so.conf.d/).
      
      If /etc/ld.so.cache is not available, the runtime linker will look
      only at a set of predetermined paths - as seen with LD_DEBUG=libs
      added to the bwrap call with "--setenv LD_DEBUG libs":
      
      find library=libstdc++.so.6 [0]; searching
       search cache=/etc/ld.so.cache
       search path=/lib64:/usr/lib64		(system search path)
        trying file=/lib64/libstdc++.so.6
        trying file=/usr/lib64/libstdc++.so.6
      
      followed by:
      
      /usr/bin/totem-video-thumbnailer: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
      
      If /etc/ld.so.cache is available, it will use that for the paths:
      
      find library=libstdc++.so.6 [0]; searching
       search cache=/etc/ld.so.cache
        trying file=/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/libstdc++.so.6
      
      By bind mounting just that file out of /etc, we get it to work on
      such a system.
      
      Closes: #81
      8815e5b9
    • Iain Lane's avatar
      thumbnail: Handle non-usrmerged systems and non-existing directories · 23b90b97
      Iain Lane authored and Bastien Nocera's avatar Bastien Nocera committed
      On systems where /usr-merge hasn't been carried out, /bin (etc) won't
      point to /usr/bin. In that case we should --ro-bind the directory
      instead of --symlinking it.
      
      This implements the suggestion from Simon McVittie on
      https://bugzilla.gnome.org/show_bug.cgi?id=787072.
      
      It also handles source directories not existing, which for example
      /lib64 won't on 32-bit systems.
      
      Closes: #4
      Closes: #89
      (cherry picked from commit 259e7e4e)
      23b90b97
  6. Dec 16, 2018
  7. Dec 11, 2018
    • Bastien Nocera's avatar
      thumbnail: Fix use-after-free when getting a preview icon · 5e8eed22
      Bastien Nocera authored
      g_file_info_get_attribute_object() is transfer none, so when getting a
      preview GIcon from a gvfs-backed file that supports it, we need to
      reference the preview otherwise we might crash.
      
      ==19044== Invalid read of size 8
      ==19044==    at 0x48607E7: get_preview_thumbnail (gnome-desktop-thumbnail.c:978)
      ==19044==    by 0x48607E7: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044==  Address 0x700f750 is 0 bytes inside a block of size 40 free'd
      ==19044==    at 0x4839A0C: free (vg_replace_malloc.c:530)
      ==19044==    by 0x48DFCD0: g_type_free_instance (gtype.c:1943)
      ==19044==    by 0x4E7F7B5: _g_file_attribute_value_clear (gfileattribute.c:176)
      ==19044==    by 0x4E83D46: g_file_info_finalize (gfileinfo.c:327)
      ==19044==    by 0x48C1C61: g_object_unref (gobject.c:3346)
      ==19044==    by 0x48607D5: get_preview_thumbnail (gnome-desktop-thumbnail.c:974)
      ==19044==    by 0x48607D5: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044==  Block was alloc'd at
      ==19044==    at 0x483880B: malloc (vg_replace_malloc.c:299)
      ==19044==    by 0x4B54F20: g_malloc (gmem.c:99)
      ==19044==    by 0x4B6C3C2: g_slice_alloc (gslice.c:1024)
      ==19044==    by 0x4B6C9F8: g_slice_alloc0 (gslice.c:1050)
      ==19044==    by 0x48DFA33: g_type_create_instance (gtype.c:1846)
      ==19044==    by 0x48C2397: g_object_new_internal (gobject.c:1805)
      ==19044==    by 0x48C4113: g_object_new_valist (gobject.c:2128)
      ==19044==    by 0x48C443B: g_object_new (gobject.c:1648)
      ==19044==    by 0x7451CF7: g_vfs_icon_new (gvfsicon.c:178)
      ==19044==    by 0x7451D47: g_vfs_icon_from_tokens (gvfsicon.c:268)
      ==19044==    by 0x4E8BA45: g_icon_new_from_tokens (gicon.c:381)
      ==19044==    by 0x4E8BA45: g_icon_new_for_string (gicon.c:462)
      ==19044==    by 0x7450C5F: _g_dbus_get_file_attribute (gvfsdaemonprotocol.c:300)
      ==19044==    by 0x7450D26: _g_dbus_get_file_info (gvfsdaemonprotocol.c:340)
      ==19044==    by 0x867A74C: g_daemon_file_query_info (gdaemonfile.c:830)
      ==19044==    by 0x486078D: get_preview_thumbnail (gnome-desktop-thumbnail.c:960)
      ==19044==    by 0x486078D: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044==
      ==19044== Invalid read of size 8
      ==19044==    at 0x48607F0: get_preview_thumbnail (gnome-desktop-thumbnail.c:978)
      ==19044==    by 0x48607F0: gnome_desktop_thumbnail_factory_generate_thumbnail (gnome-desktop-thumbnail.c:1058)
      ==19044==    by 0x401181: main (test-desktop-thumbnail.c:51)
      ==19044==  Address 0xaaaaaaaaaaaaaaaa is not stack'd, malloc'd or (recently) free'd
      
      Root-caused by "Just Me"
      
      Closes: #87
      5e8eed22
  8. Aug 19, 2018
  9. May 28, 2018
  10. May 10, 2018
  11. Apr 19, 2018
  12. Apr 17, 2018
  13. Apr 15, 2018
  14. Apr 12, 2018
  15. Apr 11, 2018
  16. Mar 13, 2018
  17. Mar 12, 2018
  18. Mar 09, 2018
  19. Mar 02, 2018
  20. Feb 27, 2018
  21. Feb 24, 2018
  22. Feb 23, 2018
  23. Feb 16, 2018
  24. Feb 13, 2018
  25. Feb 12, 2018