Review Request: Fix sanitization of dbus path in KMainWindow

Thiago Macieira thiago at
Tue Aug 18 07:23:55 BST 2009

Thomas Lübking wrote:
>Am Monday 17 August 2009 schrieb Matthew Woehlke:
>> Thomas Lübking wrote:
>> > Performance ain't crucial here (and QChar::isLetter() just tests
>> > some flags), but i just tested and QChar grants ::isLetter to really
>> > a lot of stuff (esp. as any utf-8 char seems to be split an the
>> > first part becomes a letter, though it's /no/ [A-Za-z] :-(
>> Ah... doesn't that make QString::mid broken? (Or would that be QChar?)
>> Though that shouldn't be a problem if e.g. "駄" gets translated to
>> "G_q_".
>"駄" (except the """s") has QString::length() == 3


length is 1.

>all are represented by some weird "?" in a diamond, no substring matches
> the identifier regexp
>駄[0].isLetter() == true
>駄[1].isLetter() == false
>駄[2].isLetter() == false

Q_ASSERT on the second line. There's only one character.

>"ü" has QString::length() == 2

Wrong. It has length 1 too.

>all are represented by some weird "?" in a diamond, no substring matches
> the ü[0].isLetter() == true
>ü[1].isLetter() == false

Again Q_ASSERT on the second line.

>I don't know whether this makes QString or QChar "broken"* but the
> suggested solution guarantees a valid dbus path -regarding the object
> name- which in doubt ends up like "_________" ;-P

It means you just misused QString.

Please compile your code with #define QT_NO_CAST_FROM_ASCII and 

>*i'd preferably force the whole world to restrict to ASCII - that's two
> more letters than the romans needed to control an empire for a
> millenium >-)

D-Bus paths are restricted to ASCII.

Thiago Macieira - thiago (AT) - thiago (AT)
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

Qt Developer Days 2009 | Registration Now Open!
Munich, Germany: Oct 12 - 14     San Francisco, California: Nov 2 - 4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the kde-core-devel mailing list