From 1c6330456c5ae76085c63d2a7cf3d722596e545a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 5 Apr 2013 22:24:10 -0400 Subject: [PATCH 1/1] Use initalization instead of explicit zeroing in more places --- src/bootchart/bootchart.c | 6 +++--- src/bootchart/svg.c | 10 ++++------ src/libsystemd-daemon/sd-daemon.c | 21 ++++++--------------- src/nss-myhostname/nss-myhostname.c | 19 +++++++------------ 4 files changed, 20 insertions(+), 36 deletions(-) diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c index 208c4528e..288148f48 100644 --- a/src/bootchart/bootchart.c +++ b/src/bootchart/bootchart.c @@ -239,7 +239,9 @@ static int parse_args(int argc, char *argv[]) { int main(int argc, char *argv[]) { _cleanup_free_ char *build = NULL; - struct sigaction sig; + struct sigaction sig = { + .sa_handler = signal_handler, + }; struct ps_struct *ps; char output_file[PATH_MAX]; char datestr[200]; @@ -279,8 +281,6 @@ int main(int argc, char *argv[]) { } /* handle TERM/INT nicely */ - memset(&sig, 0, sizeof(struct sigaction)); - sig.sa_handler = signal_handler; sigaction(SIGHUP, &sig, NULL); interval = (1.0 / arg_hz) * 1000000000.0; diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c index a4086c522..3472bc0ae 100644 --- a/src/bootchart/svg.c +++ b/src/bootchart/svg.c @@ -978,12 +978,11 @@ static void svg_ps_bars(void) { static void svg_top_ten_cpu(void) { struct ps_struct *top[10]; - struct ps_struct emptyps; + struct ps_struct emptyps = {}; struct ps_struct *ps; int n, m; - memset(&emptyps, 0, sizeof(struct ps_struct)); - for (n=0; n < 10; n++) + for (n = 0; n < (int) ELEMENTSOF(top); n++) top[n] = &emptyps; /* walk all ps's and setup ptrs */ @@ -1011,12 +1010,11 @@ static void svg_top_ten_cpu(void) { static void svg_top_ten_pss(void) { struct ps_struct *top[10]; - struct ps_struct emptyps; + struct ps_struct emptyps = {}; struct ps_struct *ps; int n, m; - memset(&emptyps, 0, sizeof(struct ps_struct)); - for (n=0; n < 10; n++) + for (n = 0; n < (int) ELEMENTSOF(top); n++) top[n] = &emptyps; /* walk all ps's and setup ptrs */ diff --git a/src/libsystemd-daemon/sd-daemon.c b/src/libsystemd-daemon/sd-daemon.c index 9cc1c37b4..41f4b588d 100644 --- a/src/libsystemd-daemon/sd-daemon.c +++ b/src/libsystemd-daemon/sd-daemon.c @@ -278,11 +278,8 @@ _sd_export_ int sd_is_socket(int fd, int family, int type, int listening) { return r; if (family > 0) { - union sockaddr_union sockaddr; - socklen_t l; - - memset(&sockaddr, 0, sizeof(sockaddr)); - l = sizeof(sockaddr); + union sockaddr_union sockaddr = {}; + socklen_t l = sizeof(sockaddr); if (getsockname(fd, &sockaddr.sa, &l) < 0) return -errno; @@ -297,8 +294,8 @@ _sd_export_ int sd_is_socket(int fd, int family, int type, int listening) { } _sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) { - union sockaddr_union sockaddr; - socklen_t l; + union sockaddr_union sockaddr = {}; + socklen_t l = sizeof(sockaddr); int r; if (family != 0 && family != AF_INET && family != AF_INET6) @@ -308,9 +305,6 @@ _sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, u if (r <= 0) return r; - memset(&sockaddr, 0, sizeof(sockaddr)); - l = sizeof(sockaddr); - if (getsockname(fd, &sockaddr.sa, &l) < 0) return -errno; @@ -343,17 +337,14 @@ _sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, u } _sd_export_ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) { - union sockaddr_union sockaddr; - socklen_t l; + union sockaddr_union sockaddr = {}; + socklen_t l = sizeof(sockaddr); int r; r = sd_is_socket_internal(fd, type, listening); if (r <= 0) return r; - memset(&sockaddr, 0, sizeof(sockaddr)); - l = sizeof(sockaddr); - if (getsockname(fd, &sockaddr.sa, &l) < 0) return -errno; diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c index b0fb8323a..2dd3d4a57 100644 --- a/src/nss-myhostname/nss-myhostname.c +++ b/src/nss-myhostname/nss-myhostname.c @@ -32,6 +32,8 @@ #include #include "ifconf.h" +#include "macro.h" +#include "util.h" /* We use 127.0.0.2 as IPv4 address. This has the advantage over * 127.0.0.1 that it can be translated back to the local hostname. For @@ -42,8 +44,6 @@ #define LOCALADDRESS_IPV6 &in6addr_loopback #define LOOPBACK_INTERFACE "lo" -#define ALIGN(a) (((a+sizeof(void*)-1)/sizeof(void*))*sizeof(void*)) - enum nss_status _nss_myhostname_gethostbyname4_r( const char *name, struct gaih_addrtuple **pat, @@ -96,14 +96,13 @@ enum nss_status _nss_myhostname_gethostbyname4_r( int32_t *ttlp) { unsigned lo_ifi; - char hn[HOST_NAME_MAX+1]; + char hn[HOST_NAME_MAX+1] = {}; size_t l, idx, ms; char *r_name; struct gaih_addrtuple *r_tuple, *r_tuple_prev = NULL; struct address *addresses = NULL, *a; unsigned n_addresses = 0, n; - memset(hn, 0, sizeof(hn)); if (gethostname(hn, sizeof(hn)-1) < 0) { *errnop = errno; *h_errnop = NO_RECOVERY; @@ -312,7 +311,7 @@ enum nss_status _nss_myhostname_gethostbyname3_r( int32_t *ttlp, char **canonp) { - char hn[HOST_NAME_MAX+1]; + char hn[HOST_NAME_MAX+1] = {}; if (af == AF_UNSPEC) af = AF_INET; @@ -323,7 +322,6 @@ enum nss_status _nss_myhostname_gethostbyname3_r( return NSS_STATUS_UNAVAIL; } - memset(hn, 0, sizeof(hn)); if (gethostname(hn, sizeof(hn)-1) < 0) { *errnop = errno; *h_errnop = NO_RECOVERY; @@ -380,8 +378,9 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( int *errnop, int *h_errnop, int32_t *ttlp) { - char hn[HOST_NAME_MAX+1]; - struct address *addresses = NULL, *a; + char hn[HOST_NAME_MAX+1] = {}; + struct address _cleanup_free_ *addresses = NULL; + struct address *a; unsigned n_addresses = 0, n; if (len != PROTO_ADDRESS_SIZE(af)) { @@ -419,13 +418,9 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( *errnop = ENOENT; *h_errnop = HOST_NOT_FOUND; - free(addresses); return NSS_STATUS_NOTFOUND; found: - free(addresses); - - memset(hn, 0, sizeof(hn)); if (gethostname(hn, sizeof(hn)-1) < 0) { *errnop = errno; *h_errnop = NO_RECOVERY; -- 2.30.2