Don't leave va_args dangling
authorMatthias Clasen <mclasen@redhat.com>
Wed, 19 Oct 2011 22:42:18 +0000 (18:42 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 19 Oct 2011 22:44:46 +0000 (18:44 -0400)
spi_dbus_message_iter_append_struct has an early exit where it
forgets to call va_end(). Harmless most of the time, but it
upsets static analyzers.

https://bugzilla.gnome.org/show_bug.cgi?id=662248

atk-adaptor/spi-dbus.c

index b448510..e4fa49a 100644 (file)
@@ -125,8 +125,8 @@ dbus_bool_t spi_dbus_message_iter_append_struct(DBusMessageIter *iter, ...)
     ptr = va_arg(args, void *);
     dbus_message_iter_append_basic(&iter_struct, type, ptr);
   }
-  if (!dbus_message_iter_close_container(iter, &iter_struct)) return FALSE;
   va_end(args);
+  if (!dbus_message_iter_close_container(iter, &iter_struct)) return FALSE;
   return TRUE;
 }