When return on an error path, file handle need to be closed
to prevent resource leak
Signed-off-by: Ding Xiang <[email protected]>
---
tools/testing/selftests/vm/ksm_tests.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/testing/selftests/vm/ksm_tests.c b/tools/testing/selftests/vm/ksm_tests.c
index 2fcf24312da8..f5e4e0bbd081 100644
--- a/tools/testing/selftests/vm/ksm_tests.c
+++ b/tools/testing/selftests/vm/ksm_tests.c
@@ -54,6 +54,7 @@ static int ksm_write_sysfs(const char *file_path, unsigned long val)
}
if (fprintf(f, "%lu", val) < 0) {
perror("fprintf");
+ fclose(f);
return 1;
}
fclose(f);
@@ -72,6 +73,7 @@ static int ksm_read_sysfs(const char *file_path, unsigned long *val)
}
if (fscanf(f, "%lu", val) != 1) {
perror("fscanf");
+ fclose(f);
return 1;
}
fclose(f);
--
2.31.1
On 6/15/22 3:36 AM, Ding Xiang wrote:
> When return on an error path, file handle need to be closed
> to prevent resource leak
>
> Signed-off-by: Ding Xiang <[email protected]>
> ---
> tools/testing/selftests/vm/ksm_tests.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/testing/selftests/vm/ksm_tests.c b/tools/testing/selftests/vm/ksm_tests.c
> index 2fcf24312da8..f5e4e0bbd081 100644
> --- a/tools/testing/selftests/vm/ksm_tests.c
> +++ b/tools/testing/selftests/vm/ksm_tests.c
> @@ -54,6 +54,7 @@ static int ksm_write_sysfs(const char *file_path, unsigned long val)
> }
> if (fprintf(f, "%lu", val) < 0) {
> perror("fprintf");
> + fclose(f);
> return 1;
> }
> fclose(f);
> @@ -72,6 +73,7 @@ static int ksm_read_sysfs(const char *file_path, unsigned long *val)
> }
> if (fscanf(f, "%lu", val) != 1) {
> perror("fscanf");
> + fclose(f);
> return 1;
> }
> fclose(f);
>
Looks good to me.
Reviewed-by: Shuah Khan <[email protected]>
thanks,
-- Shuah
On 6/16/22 2:11 PM, Shuah Khan wrote:
> On 6/15/22 3:36 AM, Ding Xiang wrote:
>> When return on an error path, file handle need to be closed
>> to prevent resource leak
>>
>> Signed-off-by: Ding Xiang <[email protected]>
>> ---
>> tools/testing/selftests/vm/ksm_tests.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/tools/testing/selftests/vm/ksm_tests.c b/tools/testing/selftests/vm/ksm_tests.c
>> index 2fcf24312da8..f5e4e0bbd081 100644
>> --- a/tools/testing/selftests/vm/ksm_tests.c
>> +++ b/tools/testing/selftests/vm/ksm_tests.c
>> @@ -54,6 +54,7 @@ static int ksm_write_sysfs(const char *file_path, unsigned long val)
>> }
>> if (fprintf(f, "%lu", val) < 0) {
>> perror("fprintf");
>> + fclose(f);
>> return 1;
>> }
>> fclose(f);
>> @@ -72,6 +73,7 @@ static int ksm_read_sysfs(const char *file_path, unsigned long *val)
>> }
>> if (fscanf(f, "%lu", val) != 1) {
>> perror("fscanf");
>> + fclose(f);
>> return 1;
>> }
>> fclose(f);
>>
>
> Looks good to me.
>
> Reviewed-by: Shuah Khan <[email protected]>
>
I applied this to linux-kselftest fixes for next rc.
thanks,
-- Shuah