Was gefällt Ihnen nicht? Coverity?
Es gibt jedoch einige Verbesserungspunkte, die ich hervorheben möchte, um dieses Tool für die Endbenutzer noch besser zu machen.
strzcpy vs. NULL_STRING
Coverity erkennt nicht, dass strzcpy ein abschließendes x00 hinzufügt.
ab_pfetch*
Unter Windows haben wir derzeit viele falsche OVERRUN-Positivmeldungen.
bsearch auf fester Breitentabelle vs. Literal
Coveritys Modell für bsearch geht davon aus, dass bsearch den Schlüssel über die volle Breite des Schlüssels zugreift. Wenn bsearch eine feste (maximale) Größentabelle gegeben wird und z.B. strcmp als Vergleichsfunktion, dann ist in Wirklichkeit alles in Ordnung, wenn bsearch mit einem kleinen Literal als Schlüssel aufgerufen wird. Leider denkt Coverity, dass bsearch über das Ende des Literals hinaus lesen wird, obwohl strcmp dies nicht tut.
NO_EFFECT auf var_arg
Unter Windows haben wir derzeit eine NO_EFFECT-Warnung bei allen Verwendungen von va_args.
TAINTED_SCALAR
Coverity warnt vor der Verwendung von kontaminierten Daten, Daten, die von einem Angreifer kontrolliert werden könnten. Dies kann zu Datenkorruption, Code-Injektion,... führen. Wenn möglich, meldet Coverity zusätzliche Defekte, die die gefährliche Verwendung der kontaminierten Daten beschreiben, wie INTEGER_OVERFLOW.
RW.LITERAL_OPERATOR_NOT_FOUND bei printf mit TEL_Format
Bei der Verwendung von TEL-definierten Formaten wie TEL_Flpu, TEL_Fsu, TEL_Fpid,... erfordert Coverity manchmal ein Leerzeichen vor dem 'T' von TEL_Fxxx.
TAINTED_STRING
Coverity warnt vor der Verwendung von kontaminierten Daten, Daten, die von einem Angreifer kontrolliert werden könnten. Dies kann zu Datenkorruption, Code-Injektion, SQL-Injektion, Verzeichnis-Traversierung führen.
PW.PRINTF_ARG_MISMATCH - * Präzision oder * Größe vs. size_t oder ptrdiff_t Parameter
64-Bit-Builds oder Scans - Der C-Standard besagt, dass die * Präzision oder Größe vom Typ int sind. Dies sind in der Regel 4 Bytes. Bei 64-Bit-Builds sind size_t und ptrdiff_t 8 Bytes.
Wenn ich gestern eine Korrektur eingereicht hätte, würde Coverity Connect heute weiterhin den Defekt melden. Bewertung gesammelt von und auf G2.com gehostet.