[PATCH] remote: Initialize args variable

Daniel P. Berrangé berrange at redhat.com
Thu Jan 26 14:48:41 UTC 2023


On Thu, Jan 26, 2023 at 01:41:24PM +0100, Michal Privoznik wrote:
> Recently, in v9.0.0-7-gb2034bb04c we've dropped initialization of
> @args variable. The reasoning was that eventually, all members of
> the variable will be set. Well, this is not correct. For
> instance, in remoteConnectGetAllDomainStats() the
> args.doms.doms_val pointer is set iff @ndoms != 0. However,
> regardless of that, the pointer is then passed to VIR_FREE().
> 
> Worse, the whole args is passed to
> xdr_remote_connect_get_all_domain_stats_args() which then calls
> xdr_array, which tests the (uninitialized) pointer against NULL.

Urgh, thanks for discovery this mistake.

I wonder if we should just go full paranoia and unconditionally
initialize *every* '_args' variable, even in cases where we
know it is redundant.

> 
> This effectively reverts b2034bb04c61c75ddbfbed46879d641b6f8ca8dc.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/remote/remote_driver.c | 178 ++++++++++++++++++-------------------
>  1 file changed, 89 insertions(+), 89 deletions(-)
> 
> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
> index 7f84050f70..9f3a9520e4 100644
> --- a/src/remote/remote_driver.c
> +++ b/src/remote/remote_driver.c
> @@ -1434,7 +1434,7 @@ remoteNodeGetCPUStats(virConnectPtr conn,
>                        unsigned int flags)
>  {
>      int rv = -1;
> -    remote_node_get_cpu_stats_args args;
> +    remote_node_get_cpu_stats_args args = {0};
>      remote_node_get_cpu_stats_ret ret = {0};
>      size_t i;
>      struct private_data *priv = conn->privateData;
> @@ -1496,7 +1496,7 @@ remoteNodeGetMemoryStats(virConnectPtr conn,
>                           unsigned int flags)
>  {
>      int rv = -1;
> -    remote_node_get_memory_stats_args args;
> +    remote_node_get_memory_stats_args args = {0};
>      remote_node_get_memory_stats_ret ret = {0};
>      size_t i;
>      struct private_data *priv = conn->privateData;
> @@ -1554,7 +1554,7 @@ remoteNodeGetCellsFreeMemory(virConnectPtr conn,
>                               int startCell,
>                               int maxCells)
>  {
> -    remote_node_get_cells_free_memory_args args;
> +    remote_node_get_cells_free_memory_args args = {0};
>      remote_node_get_cells_free_memory_ret ret = {0};
>      size_t i;
>      struct private_data *priv = conn->privateData;
> @@ -1588,7 +1588,7 @@ remoteConnectListDomains(virConnectPtr conn, int *ids, int maxids)
>  {
>      int rv = -1;
>      size_t i;
> -    remote_connect_list_domains_args args;
> +    remote_connect_list_domains_args args = {0};
>      remote_connect_list_domains_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1661,7 +1661,7 @@ remoteDomainBlockStatsFlags(virDomainPtr domain,
>                              unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_block_stats_flags_args args;
> +    remote_domain_block_stats_flags_args args = {0};
>      remote_domain_block_stats_flags_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1718,7 +1718,7 @@ remoteDomainGetMemoryParameters(virDomainPtr domain,
>                                  unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_memory_parameters_args args;
> +    remote_domain_get_memory_parameters_args args = {0};
>      remote_domain_get_memory_parameters_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1762,7 +1762,7 @@ remoteDomainGetNumaParameters(virDomainPtr domain,
>                                unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_numa_parameters_args args;
> +    remote_domain_get_numa_parameters_args args = {0};
>      remote_domain_get_numa_parameters_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1807,7 +1807,7 @@ remoteDomainGetLaunchSecurityInfo(virDomainPtr domain,
>                                    unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_launch_security_info_args args;
> +    remote_domain_get_launch_security_info_args args = {0};
>      remote_domain_get_launch_security_info_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1842,7 +1842,7 @@ remoteDomainGetPerfEvents(virDomainPtr domain,
>                            unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_perf_events_args args;
> +    remote_domain_get_perf_events_args args = {0};
>      remote_domain_get_perf_events_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1876,7 +1876,7 @@ remoteDomainGetBlkioParameters(virDomainPtr domain,
>                                 unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_blkio_parameters_args args;
> +    remote_domain_get_blkio_parameters_args args = {0};
>      remote_domain_get_blkio_parameters_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1923,7 +1923,7 @@ remoteDomainGetVcpuPinInfo(virDomainPtr domain,
>  {
>      int rv = -1;
>      size_t i;
> -    remote_domain_get_vcpu_pin_info_args args;
> +    remote_domain_get_vcpu_pin_info_args args = {0};
>      remote_domain_get_vcpu_pin_info_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -1988,7 +1988,7 @@ remoteDomainPinEmulator(virDomainPtr dom,
>                          unsigned int flags)
>  {
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_pin_emulator_args args;
> +    remote_domain_pin_emulator_args args = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
>      if (cpumaplen > REMOTE_CPUMAP_MAX) {
> @@ -2021,7 +2021,7 @@ remoteDomainGetEmulatorPinInfo(virDomainPtr domain,
>  {
>      int rv = -1;
>      size_t i;
> -    remote_domain_get_emulator_pin_info_args args;
> +    remote_domain_get_emulator_pin_info_args args = {0};
>      remote_domain_get_emulator_pin_info_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2074,7 +2074,7 @@ remoteDomainGetVcpus(virDomainPtr domain,
>  {
>      int rv = -1;
>      size_t i;
> -    remote_domain_get_vcpus_args args;
> +    remote_domain_get_vcpus_args args = {0};
>      remote_domain_get_vcpus_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2143,7 +2143,7 @@ remoteDomainGetIOThreadInfo(virDomainPtr dom,
>      int rv = -1;
>      size_t i;
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_get_iothread_info_args args;
> +    remote_domain_get_iothread_info_args args = {0};
>      remote_domain_get_iothread_info_ret ret = {0};
>      remote_domain_iothread_info *src;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2202,7 +2202,7 @@ remoteDomainGetIOThreadInfo(virDomainPtr dom,
>  static int
>  remoteDomainGetSecurityLabel(virDomainPtr domain, virSecurityLabelPtr seclabel)
>  {
> -    remote_domain_get_security_label_args args;
> +    remote_domain_get_security_label_args args = {0};
>      remote_domain_get_security_label_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      int rv = -1;
> @@ -2235,7 +2235,7 @@ remoteDomainGetSecurityLabel(virDomainPtr domain, virSecurityLabelPtr seclabel)
>  static int
>  remoteDomainGetSecurityLabelList(virDomainPtr domain, virSecurityLabelPtr* seclabels)
>  {
> -    remote_domain_get_security_label_list_args args;
> +    remote_domain_get_security_label_list_args args = {0};
>      remote_domain_get_security_label_list_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      size_t i;
> @@ -2276,7 +2276,7 @@ remoteDomainGetState(virDomainPtr domain,
>                       int *reason,
>                       unsigned int flags)
>  {
> -    remote_domain_get_state_args args;
> +    remote_domain_get_state_args args = {0};
>      remote_domain_get_state_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2341,7 +2341,7 @@ remoteDomainMigratePrepare(virConnectPtr dconn,
>                             unsigned long flags, const char *dname,
>                             unsigned long resource)
>  {
> -    remote_domain_migrate_prepare_args args;
> +    remote_domain_migrate_prepare_args args = {0};
>      remote_domain_migrate_prepare_ret ret = {0};
>      struct private_data *priv = dconn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2376,7 +2376,7 @@ remoteDomainMigratePrepare2(virConnectPtr dconn,
>                              const char *dom_xml)
>  {
>      int rv = -1;
> -    remote_domain_migrate_prepare2_args args;
> +    remote_domain_migrate_prepare2_args args = {0};
>      remote_domain_migrate_prepare2_ret ret = {0};
>      struct private_data *priv = dconn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2426,8 +2426,8 @@ remoteDomainMigratePrepare2(virConnectPtr dconn,
>  static int
>  remoteDomainCreate(virDomainPtr domain)
>  {
> -    remote_domain_create_args args;
> -    remote_domain_lookup_by_uuid_args args2;
> +    remote_domain_create_args args = {0};
> +    remote_domain_lookup_by_uuid_args args2 = {0};
>      remote_domain_lookup_by_uuid_ret ret2 = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2458,7 +2458,7 @@ remoteDomainCreate(virDomainPtr domain)
>  static char *
>  remoteDomainGetSchedulerType(virDomainPtr domain, int *nparams)
>  {
> -    remote_domain_get_scheduler_type_args args;
> +    remote_domain_get_scheduler_type_args args = {0};
>      remote_domain_get_scheduler_type_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2483,7 +2483,7 @@ remoteDomainMemoryStats(virDomainPtr domain,
>                          unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_memory_stats_args args;
> +    remote_domain_memory_stats_args args = {0};
>      remote_domain_memory_stats_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      size_t i;
> @@ -2525,7 +2525,7 @@ remoteDomainBlockPeek(virDomainPtr domain,
>                        unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_block_peek_args args;
> +    remote_domain_block_peek_args args = {0};
>      remote_domain_block_peek_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2572,7 +2572,7 @@ remoteDomainMemoryPeek(virDomainPtr domain,
>                         unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_memory_peek_args args;
> +    remote_domain_memory_peek_args args = {0};
>      remote_domain_memory_peek_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2616,7 +2616,7 @@ static int remoteDomainGetBlockJobInfo(virDomainPtr domain,
>                                         virDomainBlockJobInfoPtr info,
>                                         unsigned int flags)
>  {
> -    remote_domain_get_block_job_info_args args;
> +    remote_domain_get_block_job_info_args args = {0};
>      remote_domain_get_block_job_info_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2650,7 +2650,7 @@ static int remoteDomainGetBlockIoTune(virDomainPtr domain,
>                                        unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_block_io_tune_args args;
> +    remote_domain_get_block_io_tune_args args = {0};
>      remote_domain_get_block_io_tune_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -2700,7 +2700,7 @@ static int remoteDomainGetCPUStats(virDomainPtr domain,
>                                     unsigned int flags)
>  {
>      struct private_data *priv = domain->conn->privateData;
> -    remote_domain_get_cpu_stats_args args;
> +    remote_domain_get_cpu_stats_args args = {0};
>      remote_domain_get_cpu_stats_ret ret = {0};
>      int rv = -1;
>      int cpu;
> @@ -2789,7 +2789,7 @@ remoteConnectNetworkEventRegisterAny(virConnectPtr conn,
>                                       virFreeCallback freecb)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_network_event_register_any_args args;
> +    remote_connect_network_event_register_any_args args = {0};
>      remote_connect_network_event_register_any_ret ret = {0};
>      int callbackID;
>      int count;
> @@ -2833,7 +2833,7 @@ remoteConnectNetworkEventDeregisterAny(virConnectPtr conn,
>                                         int callbackID)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_network_event_deregister_any_args args;
> +    remote_connect_network_event_deregister_any_args args = {0};
>      int eventID;
>      int remoteID;
>      int count;
> @@ -2870,7 +2870,7 @@ remoteConnectStoragePoolEventRegisterAny(virConnectPtr conn,
>                                           virFreeCallback freecb)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_storage_pool_event_register_any_args args;
> +    remote_connect_storage_pool_event_register_any_args args = {0};
>      remote_connect_storage_pool_event_register_any_ret ret = {0};
>      int callbackID;
>      int count;
> @@ -2914,7 +2914,7 @@ remoteConnectStoragePoolEventDeregisterAny(virConnectPtr conn,
>                                             int callbackID)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_storage_pool_event_deregister_any_args args;
> +    remote_connect_storage_pool_event_deregister_any_args args = {0};
>      int eventID;
>      int remoteID;
>      int count;
> @@ -2953,7 +2953,7 @@ remoteConnectNodeDeviceEventRegisterAny(virConnectPtr conn,
>                                          virFreeCallback freecb)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_node_device_event_register_any_args args;
> +    remote_connect_node_device_event_register_any_args args = {0};
>      remote_connect_node_device_event_register_any_ret ret = {0};
>      int callbackID;
>      int count;
> @@ -2998,7 +2998,7 @@ remoteConnectNodeDeviceEventDeregisterAny(virConnectPtr conn,
>                                            int callbackID)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_node_device_event_deregister_any_args args;
> +    remote_connect_node_device_event_deregister_any_args args = {0};
>      int eventID;
>      int remoteID;
>      int count;
> @@ -3037,7 +3037,7 @@ remoteConnectSecretEventRegisterAny(virConnectPtr conn,
>                                      virFreeCallback freecb)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_secret_event_register_any_args args;
> +    remote_connect_secret_event_register_any_args args = {0};
>      remote_connect_secret_event_register_any_ret ret = {0};
>      int callbackID;
>      int count;
> @@ -3082,7 +3082,7 @@ remoteConnectSecretEventDeregisterAny(virConnectPtr conn,
>                                            int callbackID)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_secret_event_deregister_any_args args;
> +    remote_connect_secret_event_deregister_any_args args = {0};
>      int eventID;
>      int remoteID;
>      int count;
> @@ -3204,7 +3204,7 @@ remoteConnectFindStoragePoolSources(virConnectPtr conn,
>                                      unsigned int flags)
>  {
>      char *rv = NULL;
> -    remote_connect_find_storage_pool_sources_args args;
> +    remote_connect_find_storage_pool_sources_args args = {0};
>      remote_connect_find_storage_pool_sources_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -3229,7 +3229,7 @@ remoteConnectFindStoragePoolSources(virConnectPtr conn,
>  static int
>  remoteNodeDeviceDettach(virNodeDevicePtr dev)
>  {
> -    remote_node_device_dettach_args args;
> +    remote_node_device_dettach_args args = {0};
>      struct private_data *priv = dev->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -3248,7 +3248,7 @@ remoteNodeDeviceDetachFlags(virNodeDevicePtr dev,
>                              const char *driverName,
>                              unsigned int flags)
>  {
> -    remote_node_device_detach_flags_args args;
> +    remote_node_device_detach_flags_args args = {0};
>      struct private_data *priv = dev->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -3267,7 +3267,7 @@ remoteNodeDeviceDetachFlags(virNodeDevicePtr dev,
>  static int
>  remoteNodeDeviceReAttach(virNodeDevicePtr dev)
>  {
> -    remote_node_device_re_attach_args args;
> +    remote_node_device_re_attach_args args = {0};
>      struct private_data *priv = dev->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -3284,7 +3284,7 @@ remoteNodeDeviceReAttach(virNodeDevicePtr dev)
>  static int
>  remoteNodeDeviceReset(virNodeDevicePtr dev)
>  {
> -    remote_node_device_reset_args args;
> +    remote_node_device_reset_args args = {0};
>      /* This method is unusual in that it uses the HV driver, not the devMon driver
>       * hence its use of privateData, instead of nodeDevicePrivateData */
>      struct private_data *priv = dev->conn->privateData;
> @@ -3702,9 +3702,9 @@ remoteAuthSASL(virConnectPtr conn, struct private_data *priv,
>                 virConnectAuthPtr auth, const char *wantmech)
>  {
>      remote_auth_sasl_init_ret iret;
> -    remote_auth_sasl_start_args sargs;
> +    remote_auth_sasl_start_args sargs = {0};
>      remote_auth_sasl_start_ret sret;
> -    remote_auth_sasl_step_args pargs;
> +    remote_auth_sasl_step_args pargs = {0};
>      remote_auth_sasl_step_ret pret;
>      const char *clientout;
>      char *serverin = NULL;
> @@ -3976,7 +3976,7 @@ remoteConnectDomainEventRegister(virConnectPtr conn,
>      if (count == 1) {
>          /* Tell the server when we are the first callback registering */
>          if (priv->serverEventFilter) {
> -            remote_connect_domain_event_callback_register_any_args args;
> +            remote_connect_domain_event_callback_register_any_args args = {0};
>              remote_connect_domain_event_callback_register_any_ret ret = {0};
>  
>              args.eventID = VIR_DOMAIN_EVENT_ID_LIFECYCLE;
> @@ -4012,7 +4012,7 @@ remoteConnectDomainEventDeregister(virConnectPtr conn,
>                                     virConnectDomainEventCallback callback)
>  {
>      struct private_data *priv = conn->privateData;
> -    remote_connect_domain_event_callback_deregister_any_args args;
> +    remote_connect_domain_event_callback_deregister_any_args args = {0};
>      int callbackID;
>      int remoteID;
>      int count;
> @@ -5085,7 +5085,7 @@ static unsigned char *
>  remoteSecretGetValue(virSecretPtr secret, size_t *value_size,
>                       unsigned int flags)
>  {
> -    remote_secret_get_value_args args;
> +    remote_secret_get_value_args args = {0};
>      remote_secret_get_value_ret ret = {0};
>      struct private_data *priv = secret->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -5492,7 +5492,7 @@ remoteConnectDomainEventRegisterAny(virConnectPtr conn,
>       * events on the server */
>      if (count == 1) {
>          if (priv->serverEventFilter) {
> -            remote_connect_domain_event_callback_register_any_args args;
> +            remote_connect_domain_event_callback_register_any_args args = {0};
>              remote_connect_domain_event_callback_register_any_ret ret = {0};
>  
>              args.eventID = eventID;
> @@ -5513,7 +5513,7 @@ remoteConnectDomainEventRegisterAny(virConnectPtr conn,
>              virObjectEventStateSetRemote(conn, priv->eventState, callbackID,
>                                           ret.callbackID);
>          } else {
> -            remote_connect_domain_event_register_any_args args;
> +            remote_connect_domain_event_register_any_args args = {0};
>  
>              args.eventID = eventID;
>  
> @@ -5553,7 +5553,7 @@ remoteConnectDomainEventDeregisterAny(virConnectPtr conn,
>       * events on the server */
>      if (count == 0) {
>          if (priv->serverEventFilter) {
> -            remote_connect_domain_event_callback_deregister_any_args args;
> +            remote_connect_domain_event_callback_deregister_any_args args = {0};
>  
>              args.callbackID = remoteID;
>  
> @@ -5563,7 +5563,7 @@ remoteConnectDomainEventDeregisterAny(virConnectPtr conn,
>                       (xdrproc_t) xdr_void, (char *) NULL) == -1)
>                  return -1;
>          } else {
> -            remote_connect_domain_event_deregister_any_args args;
> +            remote_connect_domain_event_deregister_any_args args = {0};
>  
>              args.eventID = eventID;
>  
> @@ -5668,7 +5668,7 @@ remoteDomainMigrateBegin3(virDomainPtr domain,
>                            unsigned long resource)
>  {
>      char *rv = NULL;
> -    remote_domain_migrate_begin3_args args;
> +    remote_domain_migrate_begin3_args args = {0};
>      remote_domain_migrate_begin3_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -5719,7 +5719,7 @@ remoteDomainMigratePrepare3(virConnectPtr dconn,
>                              const char *dom_xml)
>  {
>      int rv = -1;
> -    remote_domain_migrate_prepare3_args args;
> +    remote_domain_migrate_prepare3_args args = {0};
>      remote_domain_migrate_prepare3_ret ret = {0};
>      struct private_data *priv = dconn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -5781,7 +5781,7 @@ remoteDomainMigratePrepareTunnel3(virConnectPtr dconn,
>                                    const char *dom_xml)
>  {
>      struct private_data *priv = dconn->privateData;
> -    remote_domain_migrate_prepare_tunnel3_args args;
> +    remote_domain_migrate_prepare_tunnel3_args args = {0};
>      remote_domain_migrate_prepare_tunnel3_ret ret = {0};
>      virNetClientStream *netst;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -5847,7 +5847,7 @@ remoteDomainMigratePerform3(virDomainPtr dom,
>                              const char *dname,
>                              unsigned long resource)
>  {
> -    remote_domain_migrate_perform3_args args;
> +    remote_domain_migrate_perform3_args args = {0};
>      remote_domain_migrate_perform3_ret ret = {0};
>      struct private_data *priv = dom->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -5898,7 +5898,7 @@ remoteDomainMigrateFinish3(virConnectPtr dconn,
>                             unsigned long flags,
>                             int cancelled)
>  {
> -    remote_domain_migrate_finish3_args args;
> +    remote_domain_migrate_finish3_args args = {0};
>      remote_domain_migrate_finish3_ret ret = {0};
>      struct private_data *priv = dconn->privateData;
>      virDomainPtr rv = NULL;
> @@ -5947,7 +5947,7 @@ remoteDomainMigrateConfirm3(virDomainPtr domain,
>                              unsigned long flags,
>                              int cancelled)
>  {
> -    remote_domain_migrate_confirm3_args args;
> +    remote_domain_migrate_confirm3_args args = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -5975,7 +5975,7 @@ remoteConnectGetCPUModelNames(virConnectPtr conn,
>      int rv = -1;
>      size_t i;
>      g_auto(GStrv) retmodels = NULL;
> -    remote_connect_get_cpu_model_names_args args;
> +    remote_connect_get_cpu_model_names_args args = {0};
>      remote_connect_get_cpu_model_names_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6024,7 +6024,7 @@ remoteDomainOpenGraphics(virDomainPtr dom,
>                           int fd,
>                           unsigned int flags)
>  {
> -    remote_domain_open_graphics_args args;
> +    remote_domain_open_graphics_args args = {0};
>      struct private_data *priv = dom->conn->privateData;
>      int fdin[] = { fd };
>      size_t fdinlen = G_N_ELEMENTS(fdin);
> @@ -6052,7 +6052,7 @@ remoteDomainOpenGraphicsFD(virDomainPtr dom,
>                             unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_open_graphics_fd_args args;
> +    remote_domain_open_graphics_fd_args args = {0};
>      struct private_data *priv = dom->conn->privateData;
>      int *fdout = NULL;
>      size_t fdoutlen = 0;
> @@ -6139,7 +6139,7 @@ remoteDomainGetDiskErrors(virDomainPtr dom,
>  {
>      int rv = -1;
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_get_disk_errors_args args;
> +    remote_domain_get_disk_errors_args args = {0};
>      remote_domain_get_disk_errors_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -6244,7 +6244,7 @@ remoteDomainGetInterfaceParameters(virDomainPtr domain,
>                                     unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_interface_parameters_args args;
> +    remote_domain_get_interface_parameters_args args = {0};
>      remote_domain_get_interface_parameters_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6291,7 +6291,7 @@ remoteNodeGetMemoryParameters(virConnectPtr conn,
>                                unsigned int flags)
>  {
>      int rv = -1;
> -    remote_node_get_memory_parameters_args args;
> +    remote_node_get_memory_parameters_args args = {0};
>      remote_node_get_memory_parameters_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6336,7 +6336,7 @@ remoteNodeGetSEVInfo(virConnectPtr conn,
>                       unsigned int flags)
>  {
>      int rv = -1;
> -    remote_node_get_sev_info_args args;
> +    remote_node_get_sev_info_args args = {0};
>      remote_node_get_sev_info_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6370,7 +6370,7 @@ remoteNodeGetCPUMap(virConnectPtr conn,
>                      unsigned int flags)
>  {
>      int rv = -1;
> -    remote_node_get_cpu_map_args args;
> +    remote_node_get_cpu_map_args args = {0};
>      remote_node_get_cpu_map_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6439,7 +6439,7 @@ remoteDomainGetJobStats(virDomainPtr domain,
>                          unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_get_job_stats_args args;
> +    remote_domain_get_job_stats_args args = {0};
>      remote_domain_get_job_stats_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6478,7 +6478,7 @@ remoteDomainMigrateBegin3Params(virDomainPtr domain,
>                                  unsigned int flags)
>  {
>      char *rv = NULL;
> -    remote_domain_migrate_begin3_params_args args;
> +    remote_domain_migrate_begin3_params_args args = {0};
>      remote_domain_migrate_begin3_params_ret ret = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6536,7 +6536,7 @@ remoteDomainMigratePrepare3Params(virConnectPtr dconn,
>                                    unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_migrate_prepare3_params_args args;
> +    remote_domain_migrate_prepare3_params_args args = {0};
>      remote_domain_migrate_prepare3_params_ret ret = {0};
>      struct private_data *priv = dconn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6607,7 +6607,7 @@ remoteDomainMigratePrepareTunnel3Params(virConnectPtr dconn,
>  {
>      struct private_data *priv = dconn->privateData;
>      int rv = -1;
> -    remote_domain_migrate_prepare_tunnel3_params_args args;
> +    remote_domain_migrate_prepare_tunnel3_params_args args = {0};
>      remote_domain_migrate_prepare_tunnel3_params_ret ret = {0};
>      virNetClientStream *netst;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6684,7 +6684,7 @@ remoteDomainMigratePerform3Params(virDomainPtr dom,
>                                    unsigned int flags)
>  {
>      int rv = -1;
> -    remote_domain_migrate_perform3_params_args args;
> +    remote_domain_migrate_perform3_params_args args = {0};
>      remote_domain_migrate_perform3_params_ret ret = {0};
>      struct private_data *priv = dom->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -6744,7 +6744,7 @@ remoteDomainMigrateFinish3Params(virConnectPtr dconn,
>                                   unsigned int flags,
>                                   int cancelled)
>  {
> -    remote_domain_migrate_finish3_params_args args;
> +    remote_domain_migrate_finish3_params_args args = {0};
>      remote_domain_migrate_finish3_params_ret ret = {0};
>      struct private_data *priv = dconn->privateData;
>      virDomainPtr rv = NULL;
> @@ -6807,7 +6807,7 @@ remoteDomainMigrateConfirm3Params(virDomainPtr domain,
>                                    int cancelled)
>  {
>      int rv = -1;
> -    remote_domain_migrate_confirm3_params_args args;
> +    remote_domain_migrate_confirm3_params_args args = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -6845,7 +6845,7 @@ remoteDomainCreateXMLWithFiles(virConnectPtr conn, const char *xml_desc,
>  {
>      virDomainPtr rv = NULL;
>      struct private_data *priv = conn->privateData;
> -    remote_domain_create_xml_with_files_args args;
> +    remote_domain_create_xml_with_files_args args = {0};
>      remote_domain_create_xml_with_files_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -6873,7 +6873,7 @@ remoteDomainCreateWithFiles(virDomainPtr dom,
>                              unsigned int flags)
>  {
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_create_with_files_args args;
> +    remote_domain_create_with_files_args args = {0};
>      remote_domain_create_with_files_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -6900,7 +6900,7 @@ remoteDomainGetTime(virDomainPtr dom,
>                      unsigned int flags)
>  {
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_get_time_args args;
> +    remote_domain_get_time_args args = {0};
>      remote_domain_get_time_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -6930,7 +6930,7 @@ remoteNodeGetFreePages(virConnectPtr conn,
>                         unsigned long long *counts,
>                         unsigned int flags)
>  {
> -    remote_node_get_free_pages_args args;
> +    remote_node_get_free_pages_args args = {0};
>      remote_node_get_free_pages_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -7010,7 +7010,7 @@ remoteNetworkGetDHCPLeases(virNetworkPtr net,
>      int rv = -1;
>      size_t i;
>      struct private_data *priv = net->conn->privateData;
> -    remote_network_get_dhcp_leases_args args;
> +    remote_network_get_dhcp_leases_args args = {0};
>      remote_network_get_dhcp_leases_ret ret = {0};
>      virNetworkDHCPLeasePtr *leases_ret = NULL;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -7072,7 +7072,7 @@ remoteConnectGetAllDomainStats(virConnectPtr conn,
>      struct private_data *priv = conn->privateData;
>      int rv = -1;
>      size_t i;
> -    remote_connect_get_all_domain_stats_args args;
> +    remote_connect_get_all_domain_stats_args args = {0};
>      remote_connect_get_all_domain_stats_ret ret = {0};
>      virDomainStatsRecordPtr elem = NULL;
>      virDomainStatsRecordPtr *tmpret = NULL;
> @@ -7150,7 +7150,7 @@ remoteNodeAllocPages(virConnectPtr conn,
>                       unsigned int cellCount,
>                       unsigned int flags)
>  {
> -    remote_node_alloc_pages_args args;
> +    remote_node_alloc_pages_args args = {0};
>      remote_node_alloc_pages_ret ret = {0};
>      struct private_data *priv = conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -7187,7 +7187,7 @@ remoteDomainGetFSInfo(virDomainPtr dom,
>      int rv = -1;
>      size_t i, j, len;
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_get_fsinfo_args args;
> +    remote_domain_get_fsinfo_args args = {0};
>      remote_domain_get_fsinfo_ret ret = {0};
>      remote_domain_fsinfo *src;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -7261,7 +7261,7 @@ remoteDomainInterfaceAddresses(virDomainPtr dom,
>      size_t i, j;
>  
>      virDomainInterfacePtr *ifaces_ret = NULL;
> -    remote_domain_interface_addresses_args args;
> +    remote_domain_interface_addresses_args args = {0};
>      remote_domain_interface_addresses_ret ret = {0};
>      struct private_data *priv = dom->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -7393,7 +7393,7 @@ remoteDomainRename(virDomainPtr dom, const char *new_name, unsigned int flags)
>  {
>      int rv = -1;
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_rename_args args;
> +    remote_domain_rename_args args = {0};
>      remote_domain_rename_ret ret = {0};
>      char *tmp = NULL;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
> @@ -7427,7 +7427,7 @@ remoteStorageVolGetInfoFlags(virStorageVolPtr vol,
>                               unsigned int flags)
>  {
>      struct private_data *priv = vol->conn->privateData;
> -    remote_storage_vol_get_info_flags_args args;
> +    remote_storage_vol_get_info_flags_args args = {0};
>      remote_storage_vol_get_info_flags_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -7457,7 +7457,7 @@ remoteNetworkPortGetParameters(virNetworkPortPtr port,
>  {
>      int rv = -1;
>      struct private_data *priv = port->net->conn->privateData;
> -    remote_network_port_get_parameters_args args;
> +    remote_network_port_get_parameters_args args = {0};
>      remote_network_port_get_parameters_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -7492,7 +7492,7 @@ remoteDomainGetGuestInfo(virDomainPtr dom,
>  {
>      int rv = -1;
>      struct private_data *priv = dom->conn->privateData;
> -    remote_domain_get_guest_info_args args;
> +    remote_domain_get_guest_info_args args = {0};
>      remote_domain_get_guest_info_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -7530,7 +7530,7 @@ remoteDomainAuthorizedSSHKeysGet(virDomainPtr domain,
>      int rv = -1;
>      size_t i;
>      struct private_data *priv = domain->conn->privateData;
> -    remote_domain_authorized_ssh_keys_get_args args;
> +    remote_domain_authorized_ssh_keys_get_args args = {0};
>      remote_domain_authorized_ssh_keys_get_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -7570,7 +7570,7 @@ remoteDomainAuthorizedSSHKeysSet(virDomainPtr domain,
>                                   unsigned int flags)
>  {
>      struct private_data *priv = domain->conn->privateData;
> -    remote_domain_authorized_ssh_keys_set_args args;
> +    remote_domain_authorized_ssh_keys_set_args args = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
>      if (nkeys > REMOTE_DOMAIN_AUTHORIZED_SSH_KEYS_MAX) {
> @@ -7603,7 +7603,7 @@ remoteDomainGetMessages(virDomainPtr domain,
>      int rv = -1;
>      size_t i;
>      struct private_data *priv = domain->conn->privateData;
> -    remote_domain_get_messages_args args;
> +    remote_domain_get_messages_args args = {0};
>      remote_domain_get_messages_ret ret = {0};
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> @@ -7643,7 +7643,7 @@ remoteDomainFDAssociate(virDomainPtr domain,
>                          int *fds,
>                          unsigned int flags)
>  {
> -    remote_domain_fd_associate_args args;
> +    remote_domain_fd_associate_args args = {0};
>      struct private_data *priv = domain->conn->privateData;
>      VIR_LOCK_GUARD lock = remoteDriverLock(priv);
>  
> -- 
> 2.39.1
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


More information about the libvir-list mailing list