about summary refs log tree commit diff
path: root/shared/systemd/src/basic/siphash24.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2021-02-11 18:12:43 +0100
committerMichael Biebl <biebl@debian.org>2021-02-11 18:12:43 +0100
commit8f0db010e71e252ac290d51bd2a5b0a078f1d279 (patch)
tree2caa344fefcd9bb4218583c5aa2e0f92f4b2aa8c /shared/systemd/src/basic/siphash24.h
parentf54032b30e1ddd84f10a339e0caf493772e049a7 (diff)
parent80ec1decc49c72efec2a8b87c06245c92c0ab807 (diff)
Update upstream source from tag 'upstream/1.29.90'
Update to upstream version '1.29.90'
with Debian dir 90df6d97476cc3200c410f3f3603b87396175c7a
Diffstat (limited to 'shared/systemd/src/basic/siphash24.h')
-rw-r--r--shared/systemd/src/basic/siphash24.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/shared/systemd/src/basic/siphash24.h b/shared/systemd/src/basic/siphash24.h
index 474d9c9d..e46f3cc5 100644
--- a/shared/systemd/src/basic/siphash24.h
+++ b/shared/systemd/src/basic/siphash24.h
@@ -1,11 +1,13 @@
+/* SPDX-License-Identifier: CC0-1.0 */
+
 #pragma once
 
 #include <inttypes.h>
 #include <stddef.h>
 #include <stdint.h>
-#include <string.h>
 #include <sys/types.h>
 
+#include "string-util.h"
 #include "time-util.h"
 
 #if 0 /* NM_IGNORED */
@@ -61,11 +63,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);