SUMMARY KProcessRunner::escapeUnitName is called when generating systemd service names. It's using signed numbers to escape the names of the applications. STEPS TO REPRODUCE Run a .desktop file named "夜.desktop". Close it immediately. OBSERVED RESULT The following entry is logged in journalctl -e Jun 20 19:06:10 hostname systemd[3368]: app-\x-1b\x-5c\x-64@3991d30e5b5a45448a73899c539c2f34.service: Consumed 1.877s CPU time. EXPECTED RESULT The part generated by KProcessRunner::escapeUnitName should use unsigned hex numbers: \xe5\xa4\x9c instead of \x-1b\x-5c\x-64 SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20240618 KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1685
Git commit 9df9d3e9ecebd01f512dd00a4ca7b7fb15b26abc by David Redondo. Committed on 13/08/2024 at 10:32. Pushed by davidre into branch 'master'. Correctly escape unit names When char is signed we where implicitely calling the QString::arg(int, ... overload. M +1 -1 src/gui/kprocessrunner.cpp https://invent.kde.org/frameworks/kio/-/commit/9df9d3e9ecebd01f512dd00a4ca7b7fb15b26abc