| Summary: | glib2.0 fails to handle file names with single quotes in them ("'") | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Thierry Vignaud <thierry.vignaud> |
| Component: | RPM Packages | Assignee: | Olav Vitters <olav> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | ||
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| URL: | https://bugzilla.gnome.org/show_bug.cgi?id=683871 | ||
| Whiteboard: | |||
| Source RPM: | glib2.0 | CVE: | |
| Status comment: | |||
|
Thierry Vignaud
2012-09-12 15:08:17 CEST
URL:
(none) =>
https://bugzilla.gnome.org/show_bug.cgi?id=683871 Fixed by myself Status:
NEW =>
RESOLVED |
The Breton language has the trigraph "c'h" in its alphabet. This means that "'" appears in a lot of words, which I just found breaks a lot of gtk+ apps (dolphin works smoothly). I think the bug resides in glib2.0 as both thunar & nautilus are affected How to reproduce? Just run the following commands: cd; mkdir "ar voualc'h"; touch "ar voualc'h."{odt,txt}; nautilus "$PWD" space Nautilus complains about: "Unable to find the requested file. Please check the spelling and try again. Unhandled error message: Error when getting information for file '/home/foobar/ar voualc'h/voualc'h': No such file or directory" Note the repeated "voualc'h" word. Getting in ~ then in "ar voualc'h" by doble clicking on the directory icon is OK. But then opening files doesn't succeed: Trying to open the text file results in starting gedit on both non existent "ar" & "voualc'h" files. Note that it split on the space... This bug only happened if the full path contains a "'", it doesn't happen else. Trying to open the LibreOffice file results in 3 successive dialogs all saying: "/home/foobar/ar voualc'h/ar doesn't exists" "/home/foobar/ar voualc'h/voualc'h doesn't exists" "/home/foobar/ar voualc'h/.odt doesn't exists" Note that it cut on the "'"... All these issues do not happen with dolphin, only with thunar & nautilus, thus I suspect either glib or gvfs. strace show they try: execve("/bin/libreoffice", ["libreoffice", "--writer", "/home/foobar/ar voualc'h/ar", "voualc'h", ".odt"], [/* 51 vars */] I don't see why in that case they split before ".odt"...