Patch: Fix KEncodingProber crashiness

Christoph Feck christoph at
Fri Mar 20 19:02:39 GMT 2009

Am Friday 20 March 2009 19:25:57 schrieb Jeff Mitchell:
> *Replaces the const char * pointer with a QString on the stack for safety.
> *Replaces a strdup call with a QByteArray and a .data() call, which is not
> strictly necessary but ensures that any safety checks in QByteArray are
> handled.
> I'd like to put it in trunk and backport it for 4.2.2.

Who the heck designed this API?

This here does not work, you are returning the address of a temporary,
and the case when d->proper is non zero still uses strdup.

@@ -204,7 +203,7 @@
 const char* KEncodingProber::encodingName() const
     if (!d->prober)
-        return strdup("UTF-8");
+        return QByteArray("UTF-8").data();
     return strdup(d->prober->GetCharSetName());

More information about the kde-core-devel mailing list