From c79af3677e024dff8c259c565118ca84df11e3c4 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Sun, 2 Apr 2017 02:33:55 +0200 Subject: [PATCH] close dangling file handle in kernel_get_hugepage_size() --- lib/kernel/kernel.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/kernel/kernel.c b/lib/kernel/kernel.c index 07bdcbc8d..cfaee3a9f 100644 --- a/lib/kernel/kernel.c +++ b/lib/kernel/kernel.c @@ -152,6 +152,7 @@ int kernel_get_page_size() int kernel_get_hugepage_size() { char *key, *value, *unit, *line = NULL; + int sz = -1; size_t len = 0; FILE *f; @@ -164,11 +165,15 @@ int kernel_get_hugepage_size() value = strtok(NULL, " "); unit = strtok(NULL, "\n"); - if (!strcmp(key, "Hugepagesize") && !strcmp(unit, "kB")) - return strtoul(value, NULL, 10) * 1024; + if (!strcmp(key, "Hugepagesize") && !strcmp(unit, "kB")) { + sz = strtoul(value, NULL, 10) * 1024; + break; + } } - return -1; + fclose(f); + + return sz; } int kernel_get_nr_hugepages() @@ -204,7 +209,7 @@ int kernel_set_nr_hugepages(int nr) } #if 0 -int kernel_check_cap(cap_value_t cap) +int kernel_has_cap(cap_value_t cap) { int ret;