Markus Armbruster <arm...@redhat.com> writes:

> <arei.gong...@huawei.com> writes:
>
>> From: Gonglei <arei.gong...@huawei.com>
>>
>> Variable "r" going out of scope leaks the storage
>> it points to in line 3268.
>>
>> Signed-off-by: Gonglei <arei.gong...@huawei.com>
>> ---
>>  migration/rdma.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/migration/rdma.c b/migration/rdma.c
>> index cf5de7e..de80860 100644
>> --- a/migration/rdma.c
>> +++ b/migration/rdma.c
>> @@ -3262,12 +3262,13 @@ static const QEMUFileOps rdma_write_ops = {
>>  
>>  static void *qemu_fopen_rdma(RDMAContext *rdma, const char *mode)
>>  {
>> -    QEMUFileRDMA *r = g_malloc0(sizeof(QEMUFileRDMA));
>> +    QEMUFileRDMA *r = NULL;
>
> Dead initialization, please drop.
>
>>  
>>      if (qemu_file_mode_is_not_valid(mode)) {
>>          return NULL;
>>      }
>>  
>> +    r = g_malloc0(sizeof(QEMUFileRDMA));
>>      r->rdma = rdma;
>>  
>>      if (mode[0] == 'w') {
>
> Looks good otherwise.

Since you're touching this, you could

    r = g_new0(QEMUFileRDMA, 1)

See commit 5839e53.

Reply via email to