( NevemTeve | 2022. 01. 26., sze – 22:38 )

Jogos kérdések ezek. Tulajdonképpen azt is kérdezhetnénk, hogy lehet-e "elronthatatlan" programot írni. Ha azt nem is lehet, arra megkérhetjük a derék kollégákat, hogy amikor belerondítanak a programba, akkor futassák a statikus analizert. Ha nem is ezt a clang-tidy-t, hanem mondjuk a `gcc -fanalyzer -O2 -Wminden`-t vagy akár a `clang -O2 -Wminden`-t.

Ez  a `gcc -fanalyzer` olyanokat tud [ezt most emlékezetből írom, tévedhetek is a részletekben], hogy az sprintf-ben a %d szekvenciákat kielemzi, összeveti a paraméterek megengedett értéktartományával, és annak alapján szól, hogy az esetleg nem fér bele a bufferbe, hogy pl.:

if (i>=10 && i<=100) sprint(buff3byte, "%02d", i);