Message ID | 20230830101148.3738-1-dingxiang@cmss.chinamobile.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 2a2015495142ee0a35711b5dcf7b215c31489f27 |
Headers | show |
Series | [v1] selftests/landlock: Fix a resource leak | expand |
Applied to my next tree. Thanks! On Wed, Aug 30, 2023 at 06:11:48PM +0800, Ding Xiang wrote: > The opened file should be closed before return, > otherwise resource leak will occur > > Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com> > --- > tools/testing/selftests/landlock/fs_test.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/landlock/fs_test.c b/tools/testing/selftests/landlock/fs_test.c > index 83d565569512..251594306d40 100644 > --- a/tools/testing/selftests/landlock/fs_test.c > +++ b/tools/testing/selftests/landlock/fs_test.c > @@ -113,7 +113,7 @@ static bool supports_filesystem(const char *const filesystem) > { > char str[32]; > int len; > - bool res; > + bool res = true; > FILE *const inf = fopen("/proc/filesystems", "r"); > > /* > @@ -125,14 +125,16 @@ static bool supports_filesystem(const char *const filesystem) > > /* filesystem can be null for bind mounts. */ > if (!filesystem) > - return true; > + goto out; > > len = snprintf(str, sizeof(str), "nodev\t%s\n", filesystem); > if (len >= sizeof(str)) > /* Ignores too-long filesystem names. */ > - return true; > + goto out; > > res = fgrep(inf, str); > + > +out: > fclose(inf); > return res; > } > -- > 2.38.1 > > >
diff --git a/tools/testing/selftests/landlock/fs_test.c b/tools/testing/selftests/landlock/fs_test.c index 83d565569512..251594306d40 100644 --- a/tools/testing/selftests/landlock/fs_test.c +++ b/tools/testing/selftests/landlock/fs_test.c @@ -113,7 +113,7 @@ static bool supports_filesystem(const char *const filesystem) { char str[32]; int len; - bool res; + bool res = true; FILE *const inf = fopen("/proc/filesystems", "r"); /* @@ -125,14 +125,16 @@ static bool supports_filesystem(const char *const filesystem) /* filesystem can be null for bind mounts. */ if (!filesystem) - return true; + goto out; len = snprintf(str, sizeof(str), "nodev\t%s\n", filesystem); if (len >= sizeof(str)) /* Ignores too-long filesystem names. */ - return true; + goto out; res = fgrep(inf, str); + +out: fclose(inf); return res; }
The opened file should be closed before return, otherwise resource leak will occur Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com> --- tools/testing/selftests/landlock/fs_test.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)