[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH][Outreachy] Signed-off-by: Sarah Khan <address@h
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH][Outreachy] Signed-off-by: Sarah Khan <address@hidden> |
Date: |
Fri, 4 Mar 2016 09:35:36 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
On 03/04/2016 09:06 AM, Peter Maydell wrote:
>>> +++ b/thunk.c
>>> @@ -88,7 +88,7 @@ void thunk_register_struct(int id, const char *name,
>>> const argtype *types)
>>> for(i = 0;i < 2; i++) {
>>> offset = 0;
>>> max_align = 1;
>>> - se->field_offsets[i] = malloc(nb_fields * sizeof(int));
>>> + se->field_offsets[i] = g_malloc(nb_fields * sizeof(int));
>>> type_ptr = se->field_types;
>>> for(j = 0;j < nb_fields; j++) {
>>> size = thunk_type_size(type_ptr, i);
>>
>> Where is the corresponding free()? g_malloc() must be paired with
>> g_free(), so you need to convert both places at once.
>
> There is no corresponding free(). thunk_register_struct() is called
> only at startup from the linux-user code in order to populate the
> struct_entries array; this data structure then remains live for
> the entire lifetime of the program and is automatically freed when
> QEMU exits.
Fair enough. However, g_new(int, nb_fields) is probably a bit nicer
than g_malloc() (in that it would detect multiplication overflow if
nb_fields were ever oversized).
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature