]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
Use C99 initializer instead of memset.
authorTom Carroll <incentivedesign@gmail.com>
Mon, 17 May 2021 05:58:24 +0000 (22:58 -0700)
committerDavid Woodhouse <dwmw2@infradead.org>
Wed, 19 May 2021 09:46:27 +0000 (10:46 +0100)
Strictly speaking, using memset() here violates strict aliasing rules,
and it would be entirely permissible for an assert() like this example
to *fail*:

struct gtls_cert_info gci;

memset(&gci, 0, sizeof gci);
assert(gci.pkey == NULL);

Signed-off-by: Tom Carroll <incentivedesign@gmail.com>
gnutls.c

index 9b08047fdc02174a62b9f5c4ee1445dd46a53d2b..8420ef4e2ea07982fd72fdb2a25091afb07cb607 100644 (file)
--- a/gnutls.c
+++ b/gnutls.c
@@ -942,7 +942,7 @@ static void free_gtls_cert_info(struct gtls_cert_info *gci)
        for (unsigned int i = 0; i < gci->nr_certs; i++)
                gnutls_x509_crt_deinit(gci->certs[i]);
        gnutls_free(gci->certs);
-       memset(gci, 0, sizeof(*gci));
+       *gci = (struct gtls_cert_info) {0};
 }
 
 static int import_cert(gnutls_x509_crt_t *cert, const gnutls_datum_t *der)