diff -Nru xdg-utils-1.1.3/debian/changelog xdg-utils-1.1.3/debian/changelog --- xdg-utils-1.1.3/debian/changelog 2018-07-01 06:59:06.000000000 +0000 +++ xdg-utils-1.1.3/debian/changelog 2018-10-02 10:11:16.000000000 +0000 @@ -1,3 +1,11 @@ +xdg-utils (1.1.3-1ubuntu2) cosmic; urgency=medium + + * Use perl's decode() to ensure we don't pass invalid UTF-8 to D-Bus, as + doing so triggers an assertion from libdbus which makes us crash. LP: + #1743216 (Debian #910070, Upstream #108121) + + -- Iain Lane Tue, 02 Oct 2018 11:11:16 +0100 + xdg-utils (1.1.3-1ubuntu1) cosmic; urgency=low * Merge from Debian Sid (LP: #1779529). Remaining changes: diff -Nru xdg-utils-1.1.3/debian/patches/debian-changes xdg-utils-1.1.3/debian/patches/debian-changes --- xdg-utils-1.1.3/debian/patches/debian-changes 2018-07-01 06:59:06.000000000 +0000 +++ xdg-utils-1.1.3/debian/patches/debian-changes 2018-10-02 10:11:16.000000000 +0000 @@ -99,3 +99,24 @@ fi if [ $? -eq 0 ]; then +--- xdg-utils-1.1.3.orig/scripts/xdg-screensaver.in ++++ xdg-utils-1.1.3/scripts/xdg-screensaver.in +@@ -468,6 +468,7 @@ screensaver_gnome_screensaver() + perl -e ' + use strict; + use warnings; ++use Encode qw(decode); + use IO::File; + use Net::DBus; + use X11::Protocol; +@@ -489,6 +490,10 @@ while (1) { + } + } + ++# Replace any invalid unicode characters with U+FFFD, so we dont crash when we ++# pass them over to D-Bus ++$window_name = decode("utf8", $window_name, Encode::FB_DEFAULT); ++ + # Inhibit idle detection (flags = 8) with window name and ID. + # We have no reason so just send the window name again. + my $bus = Net::DBus->session();