summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shared/systemd/src/basic/siphash24.h12
-rw-r--r--shared/systemd/src/shared/dns-domain.c2
-rw-r--r--src/systemd/src/libsystemd-network/sd-dhcp-client.c3
3 files changed, 12 insertions, 5 deletions
diff --git a/shared/systemd/src/basic/siphash24.h b/shared/systemd/src/basic/siphash24.h
index 90a6de00e4..0b3e845bf4 100644
--- a/shared/systemd/src/basic/siphash24.h
+++ b/shared/systemd/src/basic/siphash24.h
@@ -5,9 +5,9 @@
#include <inttypes.h>
#include <stddef.h>
#include <stdint.h>
-#include <string.h>
#include <sys/types.h>
+#include "string-util.h"
#include "time-util.h"
struct siphash {
@@ -33,11 +33,15 @@ static inline void siphash24_compress_usec_t(usec_t in, struct siphash *state) {
siphash24_compress(&in, sizeof in, state);
}
-static inline void siphash24_compress_string(const char *in, struct siphash *state) {
- if (!in)
+static inline void siphash24_compress_safe(const void *in, size_t inlen, struct siphash *state) {
+ if (inlen == 0)
return;
- siphash24_compress(in, strlen(in), state);
+ siphash24_compress(in, inlen, state);
+}
+
+static inline void siphash24_compress_string(const char *in, struct siphash *state) {
+ siphash24_compress_safe(in, strlen_ptr(in), state);
}
uint64_t siphash24_finalize(struct siphash *state);
diff --git a/shared/systemd/src/shared/dns-domain.c b/shared/systemd/src/shared/dns-domain.c
index cc5ad582db..e43aa12882 100644
--- a/shared/systemd/src/shared/dns-domain.c
+++ b/shared/systemd/src/shared/dns-domain.c
@@ -1280,7 +1280,7 @@ int dns_name_apply_idna(const char *name, char **ret) {
int r;
r = dlopen_idn();
- if (r == EOPNOTSUPP) {
+ if (r == -EOPNOTSUPP) {
*ret = NULL;
return 0;
}
diff --git a/src/systemd/src/libsystemd-network/sd-dhcp-client.c b/src/systemd/src/libsystemd-network/sd-dhcp-client.c
index 939dbac5bb..7604aafd6f 100644
--- a/src/systemd/src/libsystemd-network/sd-dhcp-client.c
+++ b/src/systemd/src/libsystemd-network/sd-dhcp-client.c
@@ -1275,6 +1275,9 @@ static int client_timeout_resend(
case DHCP_STATE_STOPPED:
r = -EINVAL;
goto error;
+
+ default:
+ assert_not_reached("Unhandled choice");
}
r = event_reset_time(client->event, &client->timeout_resend,