diff options
Diffstat (limited to 'shared/systemd/src/basic/siphash24.h')
| -rw-r--r-- | shared/systemd/src/basic/siphash24.h | 14 |
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); |