accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: optimisation vs securite

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.c ] 

Retour : Accueil du site fr comp lang c   charte stats de ce groupe


  Sujet:   Re: optimisation vs securite  
 De: es...@lain.home (Marc Espie)
 Groupes: fr.comp.lang.c
 Organisation: Nerim -- xDSL Internet Provider
 Date: 08. May 2008, 09:35:50
 References: 1
In article <48f8f5-cvo.ln1@prout.stex>,
Thierry B. <tth@prout.stex.invalid> wrote:
>Bonjour les codeurz...
>
>En me promenant dans le grand ouèbe mondial, je suis tombé sur
>cet article: http://lwn.net/Articles/278137/ qui évoque des
>problèmes de potentiels buffer-overflow quand Gcc (et d'autres)
>optimisent un peu trop sur certaines condition/tests.

Ca fait un moment que le zele des constructeurs de compilateurs a faire
des trucs qui vont le plus vite possible aux benchmarks posent quelques
problemes aux programmes reels.

Le chiendent, c'est que certains tests et certaines instructions, rajoutees
pour securiser du code, ne font pas forcement partie des `defined behavior'.

C, initialement, c'est cense etre un assembleur portable. Ca veut entre
autres dire qu'il y a des bouts qui sont censes etre dependants de
l'architecture. Lorsque GCC cesse de fournir des constructions supplementaires
propres pour traiter ces cas en plus, ou ne possede pas une representation
fiable de l'archi en question, ca commence a merder.

L'ennui, c'est qu'il n'y a aucun autre compilo `libre' digne de ce nom
susceptible de le remplacer pour l'instant.

L'article en question correspond a une vision des pointeurs qui ne correspond
pas forcement a la realite de la machine, et aux cas ou ca merde.

Je pourrais citer le strict-aliasing, qui a pose bien des problemes (et les
enormes difficultes de comprehension de restrict qui vont avec).

Ou alors, la capacite des gcc recents a faire disparaitre des memset a 0,
s'ils touchent des variables non utilisees ensuite (pratique commune pour
virer des mot de passe en clair avant de poursuivre le programme), sachant
qu'il n'y a PAS de construction raisonnable permettant d'avoir la
semantique voulue (volatile n'en est pas une, puisqu'elle va generalement
plomber le temps de calcul lie au mot de passe en question).

Ou alors, les histoires d'asm et de volatile asm dans les gcc recents
qui merdoient un tantinet, en particulier qui sont quand meme susceptibles
de pas mal `flotter' dans le code et donc de pourrir pas mal de trucs.


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)