[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] plugins: Fix two resource leaks in connect_socket()
From: |
Alex Chen |
Subject: |
Re: [PATCH 2/2] plugins: Fix two resource leaks in connect_socket() |
Date: |
Tue, 17 Nov 2020 09:13:02 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 |
On 2020/11/17 0:50, Thomas Huth wrote:
> On 28/10/2020 14.45, AlexChen wrote:
>> Either accept() fails or exits normally, we need to close the fd.
>>
>> Reported-by: Euler Robot <euler.robot@huawei.com>
>> Signed-off-by: AlexChen <alex.chen@huawei.com>
>> ---
>> contrib/plugins/lockstep.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/contrib/plugins/lockstep.c b/contrib/plugins/lockstep.c
>> index 319bd44b83..5aad50869d 100644
>> --- a/contrib/plugins/lockstep.c
>> +++ b/contrib/plugins/lockstep.c
>> @@ -268,11 +268,13 @@ static bool setup_socket(const char *path)
>> socket_fd = accept(fd, NULL, NULL);
>
> I think you could also simply close(fd) here instead, then you don't have to
> do it twice below.
>
Hi Thomas and Alex,
Thanks for your suggestion. It's a simple and effective solution.
Considering that the patch v3 has been queued by Alex Bennée,
May I modify this patch and then send patch v4?
Thanks,
Alex
>
>> if (socket_fd < 0 && errno != EINTR) {
>> perror("accept socket");
>> + close(fd);
>> return false;
>> }
>>
>> qemu_plugin_outs("setup_socket::ready\n");
>>
>> + close(fd);
>> return true;
>> }
>>
>
> .
>