Habe ich einen Fehler in CppCheck gefunden? Warum bekomme ich hier den Fehler "Null Zeiger Dereferenz"?

10

Ich verwende Cppcheck, um meinen Code zu verwalten. Ich habe folgende Funktion:

%Vor%

Zu meiner Überraschung bekomme ich die Nullzeiger-Dereferenzierung in Zeile 3.

Ich bin völlig verwirrt: Es gibt keine Hinweise in meiner Funktion. Warum bekomme ich diesen Fehler?

Ich habe versucht, es zu untersuchen:

  1. Ich habe überprüft, ob die Zeichenfolge my_string leer ist.

  2. Ich habe ein Objekt mit "Mein Text" erstellt, um sicherzustellen, dass Cppcheck nicht über die Verwendung eines temporären Objekts klagt:

    %Vor%

Was kann ich noch tun? Ist das ein Fehler in Cppcheck? Gibt es ein Problem mit der Funktion compare selbst? Ich wäre überrascht, wenn dies der Fall wäre, da cppcheck sich nicht über andere std Funktionen beschweren würde, die in meinem Projekt verwendet werden.

Hinweis: Ich frage nicht nach dem möglichen Nullzeiger-Dereferenzierungsfehler , daher handelt es sich nicht um ein Duplikat einer der folgenden Fragen: 1 , 2 oder 3 .

    
user2738748 14.06.2016, 15:28
quelle

1 Antwort

5

Ich bin ein Cppcheck-Entwickler.

Es sieht aus wie ein Fehler in Cppcheck. Jedoch vermag ich dieses falsche Positive nicht zu reproduzieren. Wenn Sie nicht das neueste Cppcheck verwenden, aktualisieren Sie bitte. Andernfalls melden Sie dies bitte im cppcheck bug tracker: Ссылка

    
Daniel Marjamäki 15.06.2016, 09:09
quelle