Patch: Fix KEncodingProber crashiness

Christoph Feck christoph at maxiom.de
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