about summary refs log tree commit diff
path: root/shared/systemd/src/basic/siphash24.h
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:35:01 +0100
committerSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:49:48 +0100
commit77dea84aa6e816f66dc622cec8ae2668eba3c068 (patch)
tree755536a0ed1fb36c2899e9bff9e092c4008a25c4 /shared/systemd/src/basic/siphash24.h
parent47f08826b44eed651b44dc8bacb5b46bc4c52067 (diff)
parentfd80297a396cc4dd7da4da20208fb360aa369aa7 (diff)
Merge branch 'debian/master' into ubuntu/master
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);