Hlavní navigace

Názor ke zprávičce Kolem 70 % vážných bezpečnostních chyb v Chromiu jsou chyby používání paměti od Petr M - Zaplatí prostě daň za bezpečnost. Pokud se na objekt...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 26. 5. 2020 17:47

    Petr M

    Zaplatí prostě daň za bezpečnost.

    Pokud se na objekt odkazuje několik objektů a chyba je v to, že jeden jim ho mění pod rukama, tak se to fixne vytvořením kopie (asi jako přiřazení proměnné v Erlangu). Vytvoření kopie chce paměť a čas.

    Pokud odkaz přežije objekt, tak je dvojí obrana - neukazovat na objekt, ale při předání odkazu si ho naklonovat. Klon potřebuje paměť a kopírování (jedno, jestli se motá v cyklu, nebo čeká na DMA). Nebo počítat reference, občas se zastavit a projet to garbage collectorem (GC, který nezaměstná CPU, jsem ještě neviděl). GC je zátěž navíc, kolikrát projede všechny objekty v paměti bez toho, že by něco mazal...

    No a pokud chci mít jistotu, že se někde něco nedomrví, tak nas..ru aserce úplně na všechno a ve všech funkcích. Už ti někdo řekl, že podmíněný skok je nejdražší instrukce kvůli zahazování pipeline? A že pokud budeš odskakovat jenom při chybě, otrávíš si branch prediktor?

    Kde vidíš zachování nebo snížení spotřeby paměti/CPU?
    A - tadá - takzvaně "bezpečnější jazyk" to řeší úplně stejně, akorát se to nemusí psát explicitně, takže ubude překlepů nebo opomenutí. Výkon pude tak jako tak do kopru.