qt-firefox-gcc34.patch (fix cast) [pld-cvs-commit Digest, Vol 6, Issue 600]

Jakub Piotr Cłapa loc w toya.net.pl
Wto, 30 Lis 2004, 23:43:28 CET


Paweł Sikora wrote:
> On Sunday 28 of November 2004 21:07, pld-cvs-commit-request w pld-linux.org 
> wrote:
> 
> +--- security/manager/ssl/src/nsPKCS12Blob.cpp.orig
> ++++ security/manager/ssl/src/nsPKCS12Blob.cpp
> +@@ -187,7 +187,7 @@
> +   mToken->GetTokenName(getter_Copies(tokenName));
> +   {
> +     NS_ConvertUTF16toUTF8 tokenNameCString(tokenName);
> +-    slot = PK11_FindSlotByName(tokenNameCString.get());
> ++    slot = PK11_FindSlotByName(NS_CONST_CAST(char*,tokenNameCString.get()));
> +   }
> +   if (!slot) {
> +     srv = SECFailure;
> 
> to rozwiązanie, to tylko bardzo brzydki hack.
> zdjecie atrybutu const z obiektu poprzez...
> 
> nscore.h:
> #define NS_CONST_CAST(__type, __ptr) const_cast< __type >(__ptr)
> 
> ...i pierwsza proba modyfikacji obiektu przez funkcję PK11_FindSlotByName
> może zakończyć się ubiciem aplikacji ponieważ kompilator może umieszczać
> stałe obiekty w obszarach pamięci chronionych przed modyfikacją
> (to już zależy od platformy i specyficznej implementacji).
> jeśli PK11... nie modyfikuje obiektu, to powinna pobierać stały wskaźnik,
> bądź referencję i to ją należy poprawić, a nie dorabiać chore rzutowanie.

To samo zrobiłem ja w mozilli 1.8a4. Nie poprawię, bo nie wiem jak, ale 
dzięki za wyjaśnienie. :)

-- 
z wyrazami szacunku,
Jakub Piotr Cłapa
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3387 bytes
Desc: S/MIME Cryptographic Signature
Url : /mailman/pipermail/pld-devel-pl/attachments/20041130/bf9fb4b7/smime.bin


Więcej informacji o liście dyskusyjnej pld-devel-pl