This patch will fix missing fclose() calls when fgets() of do_lockdump() fails. --- dlm_tool/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlm_tool/main.c b/dlm_tool/main.c index 52fd5b89..2e6810d6 100644 --- a/dlm_tool/main.c +++ b/dlm_tool/main.c @@ -1177,8 +1177,9 @@ static void do_lockdump(char *name) } /* skip the header on the first line */ - if (!fgets(line, LOCK_LINE_MAX, file)) - return; + if (!fgets(line, LOCK_LINE_MAX, file)) { + goto out; + } while (fgets(line, LOCK_LINE_MAX, file)) { rv = sscanf(line, "%x %d %x %u %llu %x %x %hhd %hhd %hhd %u %d %d", @@ -1199,7 +1200,7 @@ static void do_lockdump(char *name) if (rv != 13) { fprintf(stderr, "invalid debugfs line %d: %s\n", rv, line); - return; + goto out; } memset(r_name, 0, sizeof(r_name)); @@ -1229,6 +1230,7 @@ static void do_lockdump(char *name) ownpid, nodeid, r_name); } + out: fclose(file); } -- 2.31.1