On 08/23/2017 01:53 PM, Dr. David Alan Gilbert wrote:
> * Juan Quintela ([email protected]) wrote:
>> Compiler gets confused with the size of the struct, so move form
>> g_new0() to g_malloc0().
>>
>> I *think* that the problem is in gcc (or glib for that matter), but
>> the documentation of the g_new0 states that 1sts first argument is an
>> struct type, and uint32_t is not an struct type.
>>
>> Signed-off-by: Juan Quintela <[email protected]>
>> ---
>> tests/vmgenid-test.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tests/vmgenid-test.c b/tests/vmgenid-test.c
>> index 3d5c1c3615..032e1d465a 100644
>> --- a/tests/vmgenid-test.c
>> +++ b/tests/vmgenid-test.c
>> @@ -67,7 +67,7 @@ static uint32_t acpi_find_vgia(void)
>> g_assert_cmpint(tables_nr, >, 0);
>>
>> /* get the addresses of the tables pointed by rsdt */
>> - tables = g_new0(uint32_t, tables_nr);
>> + tables = g_malloc0(sizeof(uint32_t) * tables_nr);
>
> I think there's an easier fix for this I think;
> try:
>
> - g_assert_cmpint(tables_nr, >, 0);
> + g_assert(tables_nr > 0);
I fixed that one with :
@@ -40,7 +40,7 @@ static uint32_t acpi_find_vgia(void)
AcpiRsdpDescriptor rsdp_table;
uint32_t rsdt;
AcpiRsdtDescriptorRev1 rsdt_table;
- int tables_nr;
+ uint32_t tables_nr;
uint32_t *tables;
AcpiTableHeader ssdt_table;
VgidTable vgid_table;
C.
> Dave
>
>> ACPI_READ_ARRAY_PTR(tables, tables_nr, rsdt);
>>
>> for (i = 0; i < tables_nr; i++) {
>> --
>> 2.13.5
>>
> --
> Dr. David Alan Gilbert / [email protected] / Manchester, UK
>