Signed-off-by: liujing --- tools/bpf/bpf_dbg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/bpf/bpf_dbg.c b/tools/bpf/bpf_dbg.c index 00e560a17baf..ac834b6d78a8 100644 --- a/tools/bpf/bpf_dbg.c +++ b/tools/bpf/bpf_dbg.c @@ -1388,11 +1388,18 @@ static int run_shell_loop(FILE *fin, FILE *fout) int main(int argc, char **argv) { FILE *fin = NULL, *fout = NULL; + int result; if (argc >= 2) fin = fopen(argv[1], "r"); if (argc >= 3) fout = fopen(argv[2], "w"); - return run_shell_loop(fin ? : stdin, fout ? : stdout); + result = run_shell_loop(fin ? : stdin, fout ? : stdout); + + if (fin && fin != stdin) + fclose(fin); + if (fout && fout != stdout) + fclose(fout); + return result; } -- 2.27.0