diff --git a/stb_c_lexer.h b/stb_c_lexer.h
index e5a909e..bbca405 100644
--- a/stb_c_lexer.h
+++ b/stb_c_lexer.h
@@ -800,6 +800,8 @@ int main(int argc, char **argv)
    stb_lexer lex;
    if (len < 0) {
       fprintf(stderr, "Error opening file\n");
+      free(text);
+      fclose(f);
       return 1;
    }
    fclose(f);