[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-bcache
Subject:    Re: [PATCH] bcache-tools: check whether allocating memory fails in tree()
From:       Zhiqiang Liu <liuzhiqiang26 () huawei ! com>
Date:       2021-03-03 0:50:25
Message-ID: 35236da4-66cb-2477-c5b5-2e3185658c06 () huawei ! com
[Download RAW message or body]

Thank you for doing that.

Zhiqiang Liu

On 2021/3/2 21:33, Coly Li wrote:
> On 2/27/21 10:35 AM, Zhiqiang Liu wrote:
>>
>> In tree(), we do not check whether malloc() returns NULL,
>> it may cause potential Null pointer dereference problem.
>> In addition, when we fail to list devices, we should free(out)
>> before return.
>>
>> Signed-off-by: ZhiqiangLiu <lzhq28@mail.ustc.edu.cn>
> 
> Applied. BTW, I change your above name string from ZhiqiangLiu to
> Zhiqiang Liu, because of the checkpatch.pl warning.
> 
> 
> Thanks.
> 
> Coly Li
> 
> 
>> ---
>>  bcache.c | 9 ++++++++-
>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/bcache.c b/bcache.c
>> index 044d401..1c4cef9 100644
>> --- a/bcache.c
>> +++ b/bcache.c
>> @@ -174,7 +174,7 @@ void replace_line(char **dest, const char *from, const char *to)
>>
>>  int tree(void)
>>  {
>> -	char *out = (char *)malloc(4096);
>> +	char *out;
>>  	const char *begin = ".\n";
>>  	const char *middle = "├─";
>>  	const char *tail = "└─";
>> @@ -184,8 +184,15 @@ int tree(void)
>>  	INIT_LIST_HEAD(&head);
>>  	int ret;
>>
>> +	out = (char *)malloc(4096);
>> +	if (out == NULL) {
>> +		fprintf(stderr, "Error: fail to allocate memory buffer\n");
>> +		return 1;
>> +	}
>> +
>>  	ret = list_bdevs(&head);
>>  	if (ret != 0) {
>> +		free(out);
>>  		fprintf(stderr, "Failed to list devices\n");
>>  		return ret;
>>  	}
>>
> 
> 
> .
> 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic