From 0681b625fbb80879a9c656aa452beae18c950be9 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 3 Mar 2015 13:58:59 +0100 Subject: [PATCH] dhcp: revert "remove local modifications initializing cleanup variables" rpmbuild buils NM with -fexceptions, which causes -Wmaybe-uninitialized warnings for auto variables that have a cleanup function. Maybe we should not build RPM packages with -fexceptions, but anyway, for now just fix the build. This reverts partly commit 4a58425dbfe43ecbf0224ae6ecee5c3360338a0d and adds more fixes of uninitialized variables. --- .../systemd-dhcp/src/libsystemd-network/sd-dhcp-client.c | 2 +- .../systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c | 2 +- .../systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c | 2 +- src/dhcp-manager/systemd-dhcp/src/shared/fileio.c | 4 ++-- src/dhcp-manager/systemd-dhcp/src/shared/util.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-client.c b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-client.c index d3cc1b8cd..4a2792cca 100644 --- a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-client.c +++ b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-client.c @@ -401,7 +401,7 @@ static void client_stop(sd_dhcp_client *client, int error) { static int client_message_init(sd_dhcp_client *client, DHCPPacket **ret, uint8_t type, size_t *_optlen, size_t *_optoffset) { - _cleanup_free_ DHCPPacket *packet; + _cleanup_free_ DHCPPacket *packet = NULL; size_t optlen, optoffset, size; be16_t max_size; usec_t time_now; diff --git a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c index 14658742c..ee6d72dff 100644 --- a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c +++ b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c @@ -672,7 +672,7 @@ int sd_dhcp_lease_save(sd_dhcp_lease *lease, const char *lease_file) { r = sd_dhcp_lease_get_client_id(lease, &client_id, &client_id_len); if (r >= 0) { - _cleanup_free_ char *client_id_hex; + _cleanup_free_ char *client_id_hex = NULL; client_id_hex = hexmem (client_id, client_id_len); if (!client_id_hex) { diff --git a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c index 3687abcbe..76fb7c4d0 100644 --- a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c @@ -845,7 +845,7 @@ static int client_receive_message(sd_event_source *s, int fd, uint32_t revents, void *userdata) { sd_dhcp6_client *client = userdata; DHCP6_CLIENT_DONT_DESTROY(client); - _cleanup_free_ DHCP6Message *message; + _cleanup_free_ DHCP6Message *message = NULL; int r, buflen, len; assert(s); diff --git a/src/dhcp-manager/systemd-dhcp/src/shared/fileio.c b/src/dhcp-manager/systemd-dhcp/src/shared/fileio.c index 88b15fb4a..d167c18cc 100644 --- a/src/dhcp-manager/systemd-dhcp/src/shared/fileio.c +++ b/src/dhcp-manager/systemd-dhcp/src/shared/fileio.c @@ -510,7 +510,7 @@ static int parse_env_file_push( va_list aq, *ap = userdata; if (!utf8_is_valid(key)) { - _cleanup_free_ char *p; + _cleanup_free_ char *p = NULL; p = utf8_escape_invalid(key); log_error("%s:%u: invalid UTF-8 in key '%s', ignoring.", strna(filename), line, p); @@ -518,7 +518,7 @@ static int parse_env_file_push( } if (value && !utf8_is_valid(value)) { - _cleanup_free_ char *p; + _cleanup_free_ char *p = NULL; p = utf8_escape_invalid(value); log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.", strna(filename), line, key, p); diff --git a/src/dhcp-manager/systemd-dhcp/src/shared/util.c b/src/dhcp-manager/systemd-dhcp/src/shared/util.c index d1dc22968..999458727 100644 --- a/src/dhcp-manager/systemd-dhcp/src/shared/util.c +++ b/src/dhcp-manager/systemd-dhcp/src/shared/util.c @@ -6720,7 +6720,7 @@ int getpeersec(int fd, char **ret) { /* This is much like like mkostemp() but is subject to umask(). */ int mkostemp_safe(char *pattern, int flags) { - _cleanup_umask_ mode_t u; + _cleanup_umask_ mode_t u = 0; int fd; assert(pattern);