Re: /etc/exports option unsecure

Liste des GroupesRevenir à fcl c 
Sujet : Re: /etc/exports option unsecure
De : schaefer (at) *nospam* alphanet.ch (Marc SCHAEFER)
Groupes : fr.comp.os.linux.configuration fr.comp.lang.c
Suivi-à : fr.comp.lang.c
Date : 12. Nov 2022, 11:29:17
Autres entêtes
Organisation : Posted through news.alphanet.ch
Message-ID : <tknp1d$6v3$1@shakotay.alphanet.ch>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13
User-Agent : tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-22-amd64 (x86_64))
[ Followup-To: fr.comp.lang.c ]

Didier <db@invalid.invalid> wrote:
C'est sans doute pas top, mais au moins c'est différent de la relation
de comparaison, au sens mathématique comme au sens commun.

En fait, le plus grand problème de la notation = (affectation) et ==
(comparaison) apparaît dans les langages très expressifs comme C ou
Perl.

Par exemple en C

   if (f = tcp_connect()) {
   }

Cela appelle tcp_connect, affecte la valeur à la variable f, puis teste
si c'est différent de zéro. C'est très souvent utilisé et c'est
légitime.

Mais peut-être que le codeur voulait simplement comparer f au résultat
de tcp_connect() sans affecter? Au moins, gcc fait un warning (avec
-Wall), et suggère la forme:

   if ((f = tcp_connect())) {
   }

pour lui montrer que l'intention était bien d'affecter à f puis de
tester le résultat.

Une bonne pratique si l'on veut éviter une affectation par erreur
(écriture de == remplacée par erreur par =) est la suivante:

   # risque si on oublie un =
   if (c == 42) {
   }

   # pas de risque, 42 pas affectable, l'oubli d'un = fera
   # une erreur, car la partie gauche n'est pas affectable
   if (42 == c) {
   }

-- Et pour les afficionados du langage Newton [1]
TAKE PUSH programme;

[1] https://hopl.info/showlanguage.prx?exp=965&language=Newton

Date Sujet#  Auteur
12 Nov 22 * Re: /etc/exports option unsecure3Marc SCHAEFER
12 Nov 22 `* Re: /etc/exports option unsecure2Didier
13 Nov 22  `- Re: /etc/exports option unsecure1Marc SCHAEFER

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal