1

Während ich meinen Code in Cppcheck überprüft, bekomme ich den Fehler "Ressourcen-Leck: fExclfile". Mein Programm gibt keinen Kompilierungsfehler oder Absturz. Bitte helfen Sie mir zu diesem Thema.Ressourcen-Leck: fExclfile

FILE   *fExclfile = NULL; 
FILE   *fExclBadfile = NULL; 
if (ExclBadfile != NULL) { 
    fExclBadfile = fopen(ExclBadfile, "a"); 
    if (fExclBadfile == NULL) { 
     fprintf(stderr, "%s Can't open the exclusion bad file \"%s\". Check permissions.\n", t_stamp(), ExclBadfile); 
     fflush(stderr); 
     return 0; // <- getting resource leak -> 
    }; 
}; 
+0

Sind Sie sicher, dass es nicht ein Ressource-Leck für fExclBadfile ist, die Sie schließen nicht, wenn Sie zurückkommen? Sie verwenden fExclfile nicht, daher ist ein Ressourcenleck nicht sinnvoll. –

+0

Was ist 'ExclBadfile' und warum ordnen Sie es auf dem Heap zu? Wenn es sich um eine Ressource auf dem Heap handelt und Sie diese beim Beenden nicht zerstören, ist das ein potenzielles Speicherleck. – Prab

+0

Sorry @Matt Jordan. Es ist "Ressourcenleck: fExclBadfile". –

Antwort

1

nur sicherstellen, dass Sie alle geöffneten Dateien schließen Griffe bevor das Programm beendet und ExclBdfile Bedürfnisse ausgeplant werden, wenn es auf dem Heap erstellt werden