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; }
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
linux-kselftest-mirror@lists.linaro.org