Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

definition du sanitizer


Sujet :

C

  1. #1
    Membre régulier
    definition du sanitizer
    Bonjour,

    Dans le C que signifie la définition de sanitizer ?
    Est ce que je pourrais avoir un exemple ?

    MErci

  2. #2
    Expert éminent sénior
    Ce mot n'existe pas dans la norme C (du moins pas en C11), donc on ne le définit pas "en termes de langage C".

    Sanitiser une chaîne de caractères, c'est en retirer ou échapper tout ce qui n'appartient pas au domaine de données accepté par le code qui va traiter cette chaîne.

    À ne pas confondre avec valider, qui signifie rejeter une chaîne qui n'est pas conforme.
    Par contre, le résultat d'une sanitisation est supposé être une chaîne valide.

    De nos jours, la validation est préférée à la sanitisation dans ce qui est échange de données professionnel. Par contre, pour un forum internet (ou similaire), on sanitise plutôt que valider.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert éminent
    Citation Envoyé par Médinoc Voir le message
    Ce mot n'existe pas dans la norme C (du moins pas en C11), donc on ne le définit pas "en termes de langage C"
    Mais il existe dans GCC

    Sur cette page Program Instrumentation Options, on a les options (non exhaustif) :
    • -fsanitize=address
    • -fsanitize=kernel-address
    • -fsanitize=pointer-compare
    • -fsanitize=pointer-subtract
    • -fsanitize=thread
    • -fsanitize=leak
    • -fsanitize=undefined
    • -fsanitize=shift
    • -fsanitize=shift-exponent
    • -fsanitize=shift-base
    • -fsanitize=integer-divide-by-zero
    • -fsanitize=unreachable
    • -fsanitize=vla-bound
    • -fsanitize=null
    • -fsanitize=return
    • -fsanitize=signed-integer-overflow
    • -fsanitize=bounds
    • -fsanitize=bounds-strict
    • -fsanitize=alignment
    • -fsanitize=object-size
    • -fsanitize=float-divide-by-zero
    • -fsanitize=float-cast-overflow
    • -fsanitize=nonnull-attribute
    • -fsanitize=returns-nonnull-attribute
    • -fsanitize=bool
    • -fsanitize=enum
    • -fsanitize=vptr (C++)
    • -fsanitize=pointer-overflow
    • -fsanitize=builtin
    • -fno-sanitize=all
    • -fasan-shadow-offset=number
    • -fsanitize-sections=s1,s2,...
    • -fsanitize-recover[=opts]
    • -fsanitize-recover=
    • -fsanitize-address-use-after-scope
    • -fsanitize-undefined-trap-on-error
    • -fsanitize-coverage=trace-pc
    • -fsanitize-coverage=trace-cmp


    j'attendais qu'1 expert GCC puisse répondre.

  4. #4
    Expert éminent
    Oui mais GCC n'est pas le langage C ,et donc tu peux très bien utiliser un compilateur C qui n'a pas ces options là

###raw>template_hook.ano_emploi###