[PATCH 12/13] lib: Finish using struct zero initializer manually

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There are some cases left after previous commit which were not
picked up by coccinelle. Mostly, becuase the spatch was not
generic enough. We are left with cases like: two variables
declared on one line, a variable declared in #ifdef-s (there are
notoriously difficult for coccinelle), arrays, macro definitions,
etc.

Finish what coccinelle started, by hand.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 src/libxl/libxl_capabilities.c |  4 +---
 src/qemu/qemu_monitor.c        |  4 +---
 src/rpc/virnettlscontext.c     |  3 +--
 src/util/virnetlink.c          |  4 +---
 src/util/virutil.c             |  4 ++--
 src/vmx/vmx.c                  |  4 +---
 tests/libxlmock.c              |  4 +---
 tests/qemumonitorjsontest.c    |  5 ++---
 tests/sockettest.c             |  6 ++----
 tools/nss/libvirt_nss.c        |  7 +++----
 tools/virsh-domain.c           | 11 ++++-------
 11 files changed, 19 insertions(+), 37 deletions(-)

diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c
index 5ee6fe3f67..177e8b988e 100644
--- a/src/libxl/libxl_capabilities.c
+++ b/src/libxl/libxl_capabilities.c
@@ -328,11 +328,9 @@ libxlCapsInitGuests(libxl_ctx *ctx, virCaps *caps)
     char *saveptr = NULL;
     size_t i;
 
-    struct guest_arch guest_archs[32];
+    struct guest_arch guest_archs[32] = { 0 };
     int nr_guest_archs = 0;
 
-    memset(guest_archs, 0, sizeof(guest_archs));
-
     if ((ver_info = libxl_get_version_info(ctx)) == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("Failed to get version info from libxenlight"));
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index db34b6c179..02da1d6dfc 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -311,11 +311,9 @@ qemuMonitorIOWriteWithFD(qemuMonitor *mon,
     struct msghdr msg = { 0 };
     struct iovec iov[1];
     int ret;
-    char control[CMSG_SPACE(sizeof(int))];
+    char control[CMSG_SPACE(sizeof(int))] = { 0 };
     struct cmsghdr *cmsg;
 
-    memset(control, 0, sizeof(control));
-
     iov[0].iov_base = (void *)data;
     iov[0].iov_len = len;
 
diff --git a/src/rpc/virnettlscontext.c b/src/rpc/virnettlscontext.c
index f72597ee80..1939fe5d6e 100644
--- a/src/rpc/virnettlscontext.c
+++ b/src/rpc/virnettlscontext.c
@@ -545,12 +545,11 @@ static int virNetTLSContextSanityCheckCredentials(bool isServer,
                                                   const char *certFile)
 {
     gnutls_x509_crt_t cert = NULL;
-    gnutls_x509_crt_t cacerts[MAX_CERTS];
+    gnutls_x509_crt_t cacerts[MAX_CERTS] = { 0 };
     size_t ncacerts = 0;
     size_t i;
     int ret = -1;
 
-    memset(cacerts, 0, sizeof(cacerts));
     if ((access(certFile, R_OK) == 0) &&
         !(cert = virNetTLSContextLoadCertFromFile(certFile, isServer)))
         goto cleanup;
diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
index d964c439b4..2d052cd03e 100644
--- a/src/util/virnetlink.c
+++ b/src/util/virnetlink.c
@@ -250,7 +250,7 @@ virNetlinkSendRequest(struct nl_msg *nl_msg, uint32_t src_pid,
     int fd;
     int n;
     virNetlinkHandle *nlhandle = NULL;
-    struct pollfd fds[1];
+    struct pollfd fds[1] = { 0 };
     struct nlmsghdr *nlmsg = nlmsg_hdr(nl_msg);
 
     if (protocol >= MAX_LINKS) {
@@ -286,8 +286,6 @@ virNetlinkSendRequest(struct nl_msg *nl_msg, uint32_t src_pid,
         goto error;
     }
 
-    memset(fds, 0, sizeof(fds));
-
     fds[0].fd = fd;
     fds[0].events = POLLIN;
 
diff --git a/src/util/virutil.c b/src/util/virutil.c
index 40ca205595..b5b65fb415 100644
--- a/src/util/virutil.c
+++ b/src/util/virutil.c
@@ -428,7 +428,8 @@ virGetHostnameImpl(bool quiet)
 {
     int r;
     char hostname[HOST_NAME_MAX+1], *result = NULL;
-    struct addrinfo hints, *info;
+    struct addrinfo hints = { 0 };
+    struct addrinfo *info;
 
     r = gethostname(hostname, sizeof(hostname));
     if (r == -1) {
@@ -453,7 +454,6 @@ virGetHostnameImpl(bool quiet)
      * canonicalize the hostname by running it through getaddrinfo
      */
 
-    memset(&hints, 0, sizeof(hints));
     hints.ai_flags = AI_CANONNAME|AI_CANONIDN;
     hints.ai_family = AF_UNSPEC;
     r = getaddrinfo(hostname, NULL, &hints, &info);
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index fe4f253e9e..5c6925be22 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -3229,7 +3229,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOption *xmlopt, virDomainDef
     char *vmx = NULL;
     size_t i;
     int sched_cpu_affinity_length;
-    unsigned char zero[VIR_UUID_BUFLEN];
+    unsigned char zero[VIR_UUID_BUFLEN] = { 0 };
     g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
     char *preliminaryDisplayName = NULL;
     char *displayName = NULL;
@@ -3247,8 +3247,6 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOption *xmlopt, virDomainDef
         return NULL;
     }
 
-    memset(zero, 0, VIR_UUID_BUFLEN);
-
     if (def->virtType != VIR_DOMAIN_VIRT_VMWARE) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Expecting virt type to be '%1$s' but found '%2$s'"),
diff --git a/tests/libxlmock.c b/tests/libxlmock.c
index 205d34df19..f564a0ef72 100644
--- a/tests/libxlmock.c
+++ b/tests/libxlmock.c
@@ -60,9 +60,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version_info,
                        const libxl_version_info*,
                        libxl_ctx *, ctx)
 {
-    static libxl_version_info info;
-
-    memset(&info, 0, sizeof(info));
+    static libxl_version_info info = { 0 };
 
     /* silence gcc warning about unused function */
     if (0)
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index a1740d3f45..2e7b661db4 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -1591,15 +1591,14 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationStats(const void *opaque)
 {
     const testGenericData *data = opaque;
     virDomainXMLOption *xmlopt = data->xmlopt;
-    qemuMonitorMigrationStats stats, expectedStats;
+    qemuMonitorMigrationStats stats;
+    qemuMonitorMigrationStats expectedStats = { 0 };
     g_autofree char *error = NULL;
     g_autoptr(qemuMonitorTest) test = NULL;
 
     if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
         return -1;
 
-    memset(&expectedStats, 0, sizeof(expectedStats));
-
     expectedStats.status = QEMU_MONITOR_MIGRATION_STATUS_ACTIVE;
     expectedStats.total_time = 47;
     expectedStats.ram_total = 1611038720;
diff --git a/tests/sockettest.c b/tests/sockettest.c
index 6b9063e11d..5cb8a9fb72 100644
--- a/tests/sockettest.c
+++ b/tests/sockettest.c
@@ -269,10 +269,9 @@ mymain(void)
 
 #define DO_TEST_PARSE_AND_FORMAT(addrstr, family, pass) \
     do { \
-        virSocketAddr addr; \
+        virSocketAddr addr = { 0 }; \
         struct testParseData data = { &addr, addrstr, family, pass }; \
         struct testFormatData data2 = { &addr, addrstr, pass }; \
-        memset(&addr, 0, sizeof(addr)); \
         if (virTestRun("Test parse " addrstr " family " #family, \
                        testParseHelper, &data) < 0) \
             ret = -1; \
@@ -283,10 +282,9 @@ mymain(void)
 
 #define DO_TEST_PARSE_AND_CHECK_FORMAT(addrstr, addrformated, family, pass) \
     do { \
-        virSocketAddr addr; \
+        virSocketAddr addr = { 0 }; \
         struct testParseData data = { &addr, addrstr, family, true}; \
         struct testFormatData data2 = { &addr, addrformated, pass }; \
-        memset(&addr, 0, sizeof(addr)); \
         if (virTestRun("Test parse " addrstr " family " #family, \
                        testParseHelper, &data) < 0) \
             ret = -1; \
diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c
index ec14ac804b..5c4796e8bc 100644
--- a/tools/nss/libvirt_nss.c
+++ b/tools/nss/libvirt_nss.c
@@ -538,15 +538,14 @@ _nss_compat_getaddrinfo(void *retval,
                         void *mdata __attribute__((unused)),
                         va_list ap)
 {
-    struct addrinfo sentinel, *cur, *ai;
+    struct addrinfo sentinel = { 0 };
+    struct addrinfo *cur = & sentinel;
+    struct addrinfo *ai;
     const char *name;
 
     name  = va_arg(ap, char *);
     ai = va_arg(ap, struct addrinfo *);
 
-    memset(&sentinel, 0, sizeof(sentinel));
-    cur = &sentinel;
-
     if ((ai->ai_family == AF_UNSPEC) || (ai->ai_family == AF_INET6))
         aiforaf(name, AF_INET6, ai, &cur);
     if ((ai->ai_family == AF_UNSPEC) || (ai->ai_family == AF_INET))
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 7d76055eda..f8758f18a3 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -942,7 +942,8 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd)
                *inboundStr = NULL, *outboundStr = NULL, *alias = NULL;
     const char *sourceModeStr = NULL;
     int sourceMode = -1;
-    virNetDevBandwidthRate inbound, outbound;
+    virNetDevBandwidthRate inbound = { 0 };
+    virNetDevBandwidthRate outbound = { 0 };
     virDomainNetType typ;
     int ret;
     g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
@@ -990,7 +991,6 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd)
     }
 
     if (inboundStr) {
-        memset(&inbound, 0, sizeof(inbound));
         if (virshParseRateStr(ctl, inboundStr, &inbound) < 0)
             return false;
         if (!inbound.average && !inbound.floor) {
@@ -999,7 +999,6 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd)
         }
     }
     if (outboundStr) {
-        memset(&outbound, 0, sizeof(outbound));
         if (virshParseRateStr(ctl, outboundStr, &outbound) < 0)
             return false;
         if (outbound.average == 0) {
@@ -3286,7 +3285,8 @@ cmdDomIftune(vshControl *ctl, const vshCmd *cmd)
     bool current = vshCommandOptBool(cmd, "current");
     bool config = vshCommandOptBool(cmd, "config");
     bool live = vshCommandOptBool(cmd, "live");
-    virNetDevBandwidthRate inbound, outbound;
+    virNetDevBandwidthRate inbound = { 0 };
+    virNetDevBandwidthRate outbound = { 0 };
     size_t i;
 
     VSH_EXCLUSIVE_OPTIONS_VAR(current, live);
@@ -3307,9 +3307,6 @@ cmdDomIftune(vshControl *ctl, const vshCmd *cmd)
         vshCommandOptStringReq(ctl, cmd, "outbound", &outboundStr) < 0)
         goto cleanup;
 
-    memset(&inbound, 0, sizeof(inbound));
-    memset(&outbound, 0, sizeof(outbound));
-
     if (inboundStr) {
         if (virshParseRateStr(ctl, inboundStr, &inbound) < 0)
             goto cleanup;
-- 
2.41.0




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux