• [^] # Re: et les implications juridique ?

    Posté par . En réponse au journal Microsoft est dans le top 5 des contributeurs de linux 3.0. Évalué à -1.

    Aucun de ces softs n'est capable de vraiment savoir ce qui est attendu du code, parce que le code du kernel (et de tous les autres projets des distribs quasiment) n'est pas annote.

    Rien ne permet de dire que le parametre length de blob(void* buffer, int length) est sense etre la longueur du buffer par exemple, ce qui empeche l'analyse statique d'etre efficace. Tu regardes le code de Windows par contre, il est quasi-entierement (voire entierement maintenant) annote du kernel jusqu'au demineur, ce qui permet aux softs genre PREfix et PREfast de verifier que le buffer qui a ete passe a la fonction dans la plupart des 32 chemins de code possible (il peut evidemment pas verifier tous les cas possibles et imaginables) a une taille au moins aussi grande que la valeur de la variable length, et que la fonction elle meme ne s'amuse pas a acceder au buffer plus loin que la valeur de la variable length.

    La plupart de ces softs pour le kernel se contentent de faire de l'analyse "a vue d'oeil", il ne s'agit pas de vrais processeurs et analyseurs C avec un solveur derriere pour trouver les contraintes sur les variables, ils se contentent de voir que le code repond a certaines criteres basiques genre ne pas avoir un "if (a=x)" qui sont facilement detectables.

    Bref, deux mondes totalement differents, un monde largement plus avance que l'autre.