From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55482) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VQyI3-0002GC-KV for qemu-devel@nongnu.org; Tue, 01 Oct 2013 07:39:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VQyHy-0004VP-V6 for qemu-devel@nongnu.org; Tue, 01 Oct 2013 07:38:55 -0400 Sender: Paolo Bonzini Message-ID: <524AB45A.6050805@redhat.com> Date: Tue, 01 Oct 2013 13:39:06 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1380469272-19230-1-git-send-email-sw@weilnetz.de> In-Reply-To: <1380469272-19230-1-git-send-email-sw@weilnetz.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] migration: Fix compiler warning ('caps' may be used uninitialized) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: qemu-trivial , qemu-devel 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 > --- > > 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; }