Re: [PATCH] dt-ops: fix memory leak when new_node malloc fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2020/12/1 00:39, Simon Horman wrote:
>On Mon, Nov 30, 2020 at 02:41:56PM +0800, qiuguorui1 wrote:
>> In function dtb_set_property, when malloc new_node fails,
>> we need to free new_dtb before return.
>> 
>> Fixes: f56cbcf4c2766 ("kexec/dt-ops.c: Fix '/chosen' v/s 'chosen' node
>> being passed to fdt helper functions")
>> Signed-off-by: qiuguorui1 <qiuguorui1@xxxxxxxxxx>
>> ---
>>  kexec/dt-ops.c | 1 +
>>  1 file changed, 1 insertion(+)
>> 
>> diff --git a/kexec/dt-ops.c b/kexec/dt-ops.c
>> index dd2feaa..cc5feae 100644
>> --- a/kexec/dt-ops.c
>> +++ b/kexec/dt-ops.c
>> @@ -89,6 +89,7 @@ int dtb_set_property(char **dtb, off_t *dtb_size, const char *node,
>>  	new_node = malloc(strlen("/") + strlen(node) + 1);
>>  	if (!new_node) {
>>  		dbgprintf("%s: malloc failed\n", __func__);
>> +		free(new_dtb);
>
>Can we use the goto idiom here,
>as is used elsewhere in this function?
Sure! Thanks for your advice,I will send a v2 patch soon.
>>  		return -ENOMEM;
>>  	}
>>  
>> -- 
>> 2.12.3

-----邮件原件-----
发件人: Simon Horman [mailto:horms@xxxxxxxxxxxx] 
发送时间: 2020年12月1日 0:39
收件人: qiuguorui <qiuguorui1@xxxxxxxxxx>
抄送: kexec@xxxxxxxxxxxxxxxxxxx; bhsharma@xxxxxxxxxx; Liyou (leeyou, RTOS) <leeyou.li@xxxxxxxxxx>; Zengweilin <zengweilin@xxxxxxxxxx>
主题: Re: [PATCH] dt-ops: fix memory leak when new_node malloc fails

On Mon, Nov 30, 2020 at 02:41:56PM +0800, qiuguorui1 wrote:
> In function dtb_set_property, when malloc new_node fails,
> we need to free new_dtb before return.
> 
> Fixes: f56cbcf4c2766 ("kexec/dt-ops.c: Fix '/chosen' v/s 'chosen' node
> being passed to fdt helper functions")
> Signed-off-by: qiuguorui1 <qiuguorui1@xxxxxxxxxx>
> ---
>  kexec/dt-ops.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/kexec/dt-ops.c b/kexec/dt-ops.c
> index dd2feaa..cc5feae 100644
> --- a/kexec/dt-ops.c
> +++ b/kexec/dt-ops.c
> @@ -89,6 +89,7 @@ int dtb_set_property(char **dtb, off_t *dtb_size, const char *node,
>  	new_node = malloc(strlen("/") + strlen(node) + 1);
>  	if (!new_node) {
>  		dbgprintf("%s: malloc failed\n", __func__);
> +		free(new_dtb);

Can we use the goto idiom here,
as is used elsewhere in this function?

>  		return -ENOMEM;
>  	}
>  
> -- 
> 2.12.3
> 
> 
> _______________________________________________
> kexec mailing list
> kexec@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/kexec
> 
_______________________________________________
kexec mailing list
kexec@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/kexec




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux