Bug 7452 - glib2.0 fails to handle file names with single quotes in them ("'")
Summary: glib2.0 fails to handle file names with single quotes in them ("'")
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Olav Vitters
QA Contact:
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-11 23:32 CEST by Thierry Vignaud
Modified: 2012-09-17 18:25 CEST (History)
0 users

See Also:
Source RPM: glib2.0
CVE:
Status comment:


Attachments

Description Thierry Vignaud 2012-09-11 23:32:19 CEST
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"...
Thierry Vignaud 2012-09-12 15:08:17 CEST

URL: (none) => https://bugzilla.gnome.org/show_bug.cgi?id=683871

Comment 1 Thierry Vignaud 2012-09-17 18:25:25 CEST
Fixed by myself

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.