summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bootchart/bootchart.c6
-rw-r--r--src/bootchart/svg.c10
-rw-r--r--src/libsystemd-daemon/sd-daemon.c21
-rw-r--r--src/nss-myhostname/nss-myhostname.c19
4 files changed, 20 insertions, 36 deletions
diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c
index 208c4528e7..288148f483 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 a4086c5227..3472bc0ae8 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 9cc1c37b46..41f4b588df 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 b0fb8323ad..2dd3d4a57c 100644
--- a/src/nss-myhostname/nss-myhostname.c
+++ b/src/nss-myhostname/nss-myhostname.c
@@ -32,6 +32,8 @@
#include <arpa/inet.h>
#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;