Ha nem látom a saját szememmel, nem hiszem el: az Apple fiaskója után kiderült, hogy a nyílt forrású alkalmazások százai által használt GnuTLS könyvtár is tartalmazott egy ránézésra hasonló, lényegében azonos hatású (köszönj el a tanúsítvány hitelesítéstől), bár valamivel komplikáltabb hibát, amit most sikerült javítani.
A vonatkozó diff szerint a problémák az X.509 tanúsítványok ellenőrzését (ugye?) végző kód több függvényét érintik, én azt gyanítom, hogy a változásokat cirka 10 éve (!!!) bevezető kóder szimplán nem úgy értelmezte a hibajelzési konvenciókat, ahogy kellett volna (meg néha elfelejtette inicializálni a változóit).
if (result < 0)
{
gnutls_assert ();
--- goto cleanup;
+++ goto fail;
}
+++ fail:
result = 0;
cleanup:
//...
return result
Nincsenek szavak.
Szerk: Diff javítva, thx tr3w!
Drout 2014.03.05. 10:46:48
hillaby · http://twitter.com/hillaby 2014.03.11. 10:54:58
szlan 2014.03.13. 15:58:38