Bug 487471 - SDDM KCM *silently* fails to apply image wallpaper if image filename contains backtick or tab.
Summary: SDDM KCM *silently* fails to apply image wallpaper if image filename contains...
Status: REPORTED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_sddm (show other bugs)
Version: 6.0.4
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL: https://bugs.kde.org/show_bug.cgi?id=...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-24 11:16 UTC by Roke Julian Lockhart Beedell
Modified: 2024-06-10 13:42 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roke Julian Lockhart Beedell 2024-05-24 11:16:14 UTC
SUMMARY

The SDDM KCM is *silently* unable to apply an image as its wallpaper if the filename of the image contains a backtick (`) or tab (	).

STEPS TO REPRODUCE

As https://bugs.kde.org/show_bug.cgi?id=485565#c2 explains, "It's caused by having a backtick (`) or tab (	) in the path to the file. Try placing a JPEG with the most normal name possible (image.jpg) in a directory with solely one of those characters. It reproducibly triggers this."

OBSERVED RESULT

The KCM fails to apply the image as SDDM's wallpaper.

EXPECTED RESULT

The KCM should properly sanitize the filename so that it can apply it (and at the very least explain why it fails, if not).

SOFTWARE/OS VERSIONS

Operating System: Fedora Linux 40
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.0
Kernel Version: 6.8.10-300.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 7600X 6-Core Processor
Memory: 30.5 GiB of RAM
Graphics Processor: AMD Radeon RX 5700
Manufacturer: ASRock
Product Name: X670E Taichi

ADDITIONAL INFORMATION

The issue appears identical to https://bugs.kde.org/show_bug.cgi?id=485565#c0, except that it's for a different module. I haven't checked the source code to ascertain whether both utilize a shared library for this operation.