Oui, des erreurs du programmeur qui conduisent à bugs non détectés par un compilo ou un runtime, et qui se transforme en faille de sécurité potentielle.
C est pour ca que je code des tests unitaires qui inclus les tests qui valident que tout fonctionne quand tout est normal, mais aussi les cas extremes (fuzzing). Se contenter d ecrire un code sans le valider, c est faire la moitiee du taff d un dev.
Le problème c'est pas qu'il n'y a pas d'API intuitive en C, le problème c'est que le langage est tellement dangereux qu'il est extrêment complexe de faire une API 100% secure
En fait non, il existe des methodes assez claires, le probleme c est qu il y a un fosse entre ce qu on apprend a l ecole, le code crado qu on trouve sur google, et de vraies fonctions/libs.
Ben vous le faites, mais avec pleins de problème de sécurité qui conduisent à des failles, pourtant "classiques", mais qui auraient été évités avec un langage de plus haut niveau.
Comme j ai dit au dessus, tests unitaires et fuzzing (au sein d un buildbot), c est primordial. ca detecte tous ces problemes sans avoir a les chercher, et si t as bien fait tes tests tu sauras automatiquement ou ca merde. Ca fait longtemps que les BOFs sont des soucis d un autre age pour moi, les plus gros problemes dans l ecriture d un soft en C, sont la coherence necessaire entre la gestion des ressources, threads et forks (resistance au DDOS, ou grosse charge)
et puis niveau dialogue avec l exterieur, dans mon cas c est a 95% du temps des sockets, et une fois que tu sais le faire une fois, tu sais le faire 100 fois. j avai ecrit une lib pour ca dans le passe, avant de switcher sur ecore (et donc, eina), qui sont deux libs tres agreables.
[^] # Re: Dépassement de tampon
Posté par kur1g3n . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 0.
et puis niveau dialogue avec l exterieur, dans mon cas c est a 95% du temps des sockets, et une fois que tu sais le faire une fois, tu sais le faire 100 fois. j avai ecrit une lib pour ca dans le passe, avant de switcher sur ecore (et donc, eina), qui sont deux libs tres agreables.