selftests/landlock: Fix a resource leak

The opened file should be closed before return, otherwise resource leak
will occur.

Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20230830101148.3738-1-dingxiang@cmss.chinamobile.com
Fixes: 3de64b656b ("selftests/landlock: Add supports_filesystem() helper")
Signed-off-by: Mickaël Salaün <mic@digikod.net>
This commit is contained in:
Ding Xiang 2023-08-30 18:11:48 +08:00 committed by Mickaël Salaün
parent 246c713a36
commit 2a20154951
No known key found for this signature in database
GPG key ID: E5E3D0E88C82F6D2

View file

@ -113,7 +113,7 @@ static bool supports_filesystem(const char *const filesystem)
{ {
char str[32]; char str[32];
int len; int len;
bool res; bool res = true;
FILE *const inf = fopen("/proc/filesystems", "r"); 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. */ /* filesystem can be null for bind mounts. */
if (!filesystem) if (!filesystem)
return true; goto out;
len = snprintf(str, sizeof(str), "nodev\t%s\n", filesystem); len = snprintf(str, sizeof(str), "nodev\t%s\n", filesystem);
if (len >= sizeof(str)) if (len >= sizeof(str))
/* Ignores too-long filesystem names. */ /* Ignores too-long filesystem names. */
return true; goto out;
res = fgrep(inf, str); res = fgrep(inf, str);
out:
fclose(inf); fclose(inf);
return res; return res;
} }