From 12f8ff440cbea083797a3f62fe8c8ab0e03f2e6b Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Wed, 28 Mar 2007 09:48:07 -0400 Subject: [COVERITY] Fix memory leak in fsck on error paths The memory allocated by inst is not reclaimed. There also was a call to exit that coverity did not catch the resource leak. This might not really be a big issue since the memory will be freed when fsck exits, but it should be done anyway imho. Coverity ID: 32: Resource Leak Signed-off-by: Brian Behlendorf --- misc/fsck.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'misc/fsck.c') diff --git a/misc/fsck.c b/misc/fsck.c index 06ee02b3..1dcac259 100644 --- a/misc/fsck.c +++ b/misc/fsck.c @@ -470,6 +470,7 @@ static int execute(const char *type, const char *device, const char *mntpt, s = find_fsck(prog); if (s == NULL) { fprintf(stderr, _("fsck: %s: not found\n"), prog); + free(inst); return ENOENT; } @@ -486,12 +487,14 @@ static int execute(const char *type, const char *device, const char *mntpt, pid = -1; else if ((pid = fork()) < 0) { perror("fork"); + free(inst); return errno; } else if (pid == 0) { if (!interactive) close(0); (void) execv(s, argv); perror(argv[0]); + free(inst); exit(EXIT_ERROR); } -- cgit v1.2.3