On 08/23/2017 01:53 PM, Dr. David Alan Gilbert wrote: > * Juan Quintela (quint...@redhat.com) 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 <quint...@redhat.com> >> --- >> 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 / dgilb...@redhat.com / Manchester, UK >