Il 29/09/2013 17:41, Stefan Weil ha scritto: > The QEMU buildbot default_i386_debian_6_0 shows this warning: > > CC migration.o > migration.c: In function 'qmp_query_migrate_capabilities': > migration.c:149: warning: > 'caps' may be used uninitialized in this function > > While changing this code, I also replaced g_malloc0 > by the type safe g_new0. > > Signed-off-by: Stefan Weil <s...@weilnetz.de> > --- > > Buildbot URL: > http://buildbot.b1-systems.de/qemu/builders/default_i386_debian_6_0/builds/775/steps/compile/logs/stdio > > migration.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/migration.c b/migration.c > index 200d404..8dcb6ce 100644 > --- a/migration.c > +++ b/migration.c > @@ -145,17 +145,15 @@ uint64_t migrate_max_downtime(void) > > MigrationCapabilityStatusList *qmp_query_migrate_capabilities(Error **errp) > { > - MigrationCapabilityStatusList *head = NULL; > - MigrationCapabilityStatusList *caps; > + MigrationCapabilityStatusList *head = > + g_new0(MigrationCapabilityStatusList, 1); > + MigrationCapabilityStatusList *caps = head; > MigrationState *s = migrate_get_current(); > int i; > > for (i = 0; i < MIGRATION_CAPABILITY_MAX; i++) { > - if (head == NULL) { > - head = g_malloc0(sizeof(*caps)); > - caps = head; > - } else { > - caps->next = g_malloc0(sizeof(*caps)); > + if (i > 0) { > + caps->next = g_new0(MigrationCapabilityStatusList, i); > caps = caps->next; > } > caps->value = >
What about MigrationCapabilityStatusList *head = NULL; MigrationCapabilityStatusList **p_tail = &head; MigrationState *s = migrate_get_current(); int i; for (i = 0; i < MIGRATION_CAPABILITY_MAX; i++) { MigrationCapabilityStatusList *caps = g_malloc0(sizeof(*caps)); caps->value = ... *p_next = caps; p_next = &caps->next; }