Il s'agit ici de buffer overflow, mais la variable n'a sûrement pas été incrémenté à l'infini car l'itérateur a certainement dû tomber sur un autre EOF qui a donc stoppé l'itération au bout d'un moment
@@azarox9816 Non, il ne s'agit pas d'un buffer overflow, car on lit des données, on ne les écrit pas. Pour bien comprendre ce qu'est un buffer overflow pense à Zézette qui remplit sa feuille d'impôts. Si elle écrit "ça dépend" au lieu de "oui", cela ne rentre pas dans la case. Ici, il s'agit bien d'une fuite de données, car on va lire plus de données qu'il ne faut en lire. C'est le problème quand on rate le drapeau de fin d'un buffer dynamique ou que comme dans le cas présent ce dernier n'existe pas. Sinon EOF ou End Of File est un drapeau qui indique une fin de fichier et non une fin de buffer. Pour les buffer, le drapeau est souvent un caractère réservé qui peut être un zéro terminal dans le cas d'une variable texte ou bien un caractère retour de chariot (CR), voir un caractère retour de chariot suivi d'un saut de ligne (CRLF).
David Kitano, soit ton prof a dit n'importe quoi, soit tu as mal compris ce qu'il t'a dit. Si il existe un opérateur strictement égal et un opérateur égal ou supérieur, c'est que chacun a son utilité et sa raison d'être. De plus, selon les cas considérés, le remplacement d'un opérateur égal par un opérateur égal ou supérieur ne règle pas toujours un problème de mauvais formatage d'une structure de données. Dans le cas qui nous intéresse ici, cela aurait limité la taille de la fuite de données, mais il y aurait toujours eu au minimum, un caractère excédentaire qui aurait été lu. Ce qui aurait malgré tout posé problème. Donc non l'utilisation systématique des opérateurs supérieur ou égal et inférieur ou égal n'est pas préférable à l'utilisation de l'opérateur égal. Le choix devant se faire en fonction de comment se fait l'incrémentation de la variable servant d'index.
Merci.. si si, très bien expliqué ! J'ai tout compris ce qui dit. 👍 Bon maintenant arrête de déconner et va rendre ses fringues a Spartacus, il se pèle .. 😂😂
j'ai eu des bug similaire sur mon malloc en c'est l'horreur a debug. tous fonctionne et d'un coup ta mémoire ram fait un tour de manège et rarement ça plante même pas et la ta mémoire se balade
Tricky quand même, mise à joru de dépendance tierce, plus algo un peu foireux mais bon pas tout à fait faux (c'est la pire "race" ceux la !), et surement un manque de tests unitaires et jeux de données correctes ... mais bon avec des si hein ;-) Merci pour le partage et très sympa d'avoir des vidéos un peu plus haut niveau en algo/tech/computer_science, c'est cool 😀
Sincerement if (++P==pe)=>on_arrete c'est pas prudent du tout et if (++P>=pe)=>on_arrete c'est pas bon non plus (même si c'est plus prudent) Pour éviter les histoire , on fait pas comme ca. P ne doit pas etre modifie par un autre partie du programme ! L'autre partie peut mettre P=0 ou P=2 par erreur et on boucle indéfiniment. P ne lui appartient pas. On prefere lui dire renvoie moi un code d'erreur : err si c'est pas bon ou err=0 si je peux continuer. On preferera donc faire P=0; tant que (P
Comment est-il possible de manipuler des chaînes de caractères sans s'assurer d'un 0 terminal, et de le tester ? quel amateurisme ! les problèmes de buffers, circulaires ou non, sont tellement classiques.
09:00 C'est toi l'élite : parfaitement expliqué, parfaitement clair 👏👏 Et merci pour cette anecdote sur CF que je ne connaissais pas encore.
Franchement top ce genre de vidéo, c'est bien vulgarisé et on se cultive! Merci pour le taff
Très bon sujet, merci d’avoir vulgarisé 😅 mon prof d’informatique m’avait toujours dit d’utiliser les opérateurs >= ou
Il s'agit ici de buffer overflow, mais la variable n'a sûrement pas été incrémenté à l'infini car l'itérateur a certainement dû tomber sur un autre EOF qui a donc stoppé l'itération au bout d'un moment
@@azarox9816 Non, il ne s'agit pas d'un buffer overflow, car on lit des données, on ne les écrit pas. Pour bien comprendre ce qu'est un buffer overflow pense à Zézette qui remplit sa feuille d'impôts. Si elle écrit "ça dépend" au lieu de "oui", cela ne rentre pas dans la case. Ici, il s'agit bien d'une fuite de données, car on va lire plus de données qu'il ne faut en lire. C'est le problème quand on rate le drapeau de fin d'un buffer dynamique ou que comme dans le cas présent ce dernier n'existe pas.
Sinon EOF ou End Of File est un drapeau qui indique une fin de fichier et non une fin de buffer. Pour les buffer, le drapeau est souvent un caractère réservé qui peut être un zéro terminal dans le cas d'une variable texte ou bien un caractère retour de chariot (CR), voir un caractère retour de chariot suivi d'un saut de ligne (CRLF).
David Kitano, soit ton prof a dit n'importe quoi, soit tu as mal compris ce qu'il t'a dit. Si il existe un opérateur strictement égal et un opérateur égal ou supérieur, c'est que chacun a son utilité et sa raison d'être. De plus, selon les cas considérés, le remplacement d'un opérateur égal par un opérateur égal ou supérieur ne règle pas toujours un problème de mauvais formatage d'une structure de données. Dans le cas qui nous intéresse ici, cela aurait limité la taille de la fuite de données, mais il y aurait toujours eu au minimum, un caractère excédentaire qui aurait été lu. Ce qui aurait malgré tout posé problème. Donc non l'utilisation systématique des opérateurs supérieur ou égal et inférieur ou égal n'est pas préférable à l'utilisation de l'opérateur égal. Le choix devant se faire en fonction de comment se fait l'incrémentation de la variable servant d'index.
Super vidéo mais c'est quoi ces bracelets de biceps lol
Toujours aussi précis dans tes vidéos , continue!
Très bon sujet... Merci de le partager
Super sympa et bien expliqué
Voilà à quoi sert les cours d’algo. À ne pas négliger dans vos formations
Vraiment 😁
Les cours d'algorithmes oui c'est important. Mais il faudrait également qu'on mette plus en valeur les tests dans l'informatique.
Quand je disais à mon ancien patron que la dette finirait par nous tuer ^^
Super vidéo merci à toi ;)
Merci.. si si, très bien expliqué !
J'ai tout compris ce qui dit. 👍
Bon maintenant arrête de déconner et va rendre ses fringues a Spartacus, il se pèle .. 😂😂
J'ai adoré ! Merci.
j'ai eu des bug similaire sur mon malloc en c'est l'horreur a debug.
tous fonctionne et d'un coup ta mémoire ram fait un tour de manège et rarement ça plante même pas et la ta mémoire se balade
Le C c'est pour les téméraires. Essaie Rust, t'auras le borrow checker qui va beaucoup t'insulter au début, mais ça sera pour ton bien. 😄
Tricky quand même, mise à joru de dépendance tierce, plus algo un peu foireux mais bon pas tout à fait faux (c'est la pire "race" ceux la !), et surement un manque de tests unitaires et jeux de données correctes ... mais bon avec des si hein ;-)
Merci pour le partage et très sympa d'avoir des vidéos un peu plus haut niveau en algo/tech/computer_science, c'est cool 😀
Il avait pas de test de coverage?
petite question Jai vue que des personnes mais de lettre et chiffre a la fin exemple s50-e90--w34- ces quoi cela ,merci d'avance dans midjourney
C'est quoi ce déguisement 😂😂
Bonjour ,quel framewoerk utiliser pour la création d'application mobile avec le c++ .
Stack overflow est ton ami
Bonjour jai compris tes bonne vidéo pour apprendre plus dans le domaine du web
Il faut apprendre quoi pour bosser dans cet univers ?
Très bonne vidéo 😮👍
Sincerement if (++P==pe)=>on_arrete c'est pas prudent du tout et
if (++P>=pe)=>on_arrete c'est pas bon non plus (même si c'est plus prudent)
Pour éviter les histoire , on fait pas comme ca. P ne doit pas etre modifie par un autre partie du programme !
L'autre partie peut mettre P=0 ou P=2 par erreur et on boucle indéfiniment. P ne lui appartient pas.
On prefere lui dire renvoie moi un code d'erreur : err si c'est pas bon ou err=0 si je peux continuer.
On preferera donc faire P=0; tant que (P
La boulette 🤣 mais bon il l'a cherché... C'est quand même bien réducteur le == dans le test
le vrai cas d'école c'est dingue.
En effet, faut pas avoir peur 😂
L'effet dynamique de scintillement sur les illustrations est désagréable je trouve. Sinon très bonne vidéo !
Super video !
J'ai déjà eu affaire à ce type de bug. Dans mon cas cela donnait une boucle sans fin.
Mdr ! j'ai pas reconnu le code par contre, débutant , mais j ai pu tout comprendre.
C'est du PHP ?
++p et p++ ralala c’est noob ça en dev lol Bel effet de bord 😂
Ouah je suis 3l1t3 !
S'il y avait eux plus de tests ca aurait pu être detecté avec la nouvelle version nginx.
Super, merci !
Les élites c ici !
Faire une incrément dans un test, c'est mal ! Mais c'est plus facile à détecter qu’une fuite mémoire vicieuse et aléatoire 😮
bon je finis bientôt ma première année en devellopeur web et je suis content de faire partir de l"élite mdrr
le choix du bon algorithme est la première brique de sécurité donc verifiez vos algorithmes 😂
C'est top !
cuir cuir cuir moustache
Al Pacino sort de ce corps ^^
Bah malheureusement, quelque soit les conséquences, c'est la réalité du travail. Un petit grain de sable peut être désastreux
Détecter la limite d'une zone de lecture avec l'opérateur strictement égal , c'est du très mauvais codage.
Comment est-il possible de manipuler des chaînes de caractères sans s'assurer d'un 0 terminal, et de le tester ? quel amateurisme !
les problèmes de buffers, circulaires ou non, sont tellement classiques.
Alors que jamais Internet n'a failli péter une ligne de code. Internet, petite b***.
Premier jeu que j'ai codé j'avais l'ennemi qui voulait pas mourrir pour avoir utilisé life==0 au lieu de life
06:31 BUFFER OVERFLOW💀
ça va la miniature c'est pas trop underscore...
N'oubliez pas votre \0 les amis
C’est quoi ce déguisement ? 🤣🤣
elite
Je suis l’élu j’ai compris