diff options
author | Mattias Andrée <maandree@kth.se> | 2023-06-23 15:26:55 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2023-06-23 15:26:55 +0200 |
commit | 43d7766178e6696d009397d0e034b9cdaa9fa7da (patch) | |
tree | 34a6735921264d47c69110f601bc24cd5227fb76 /key2root-addkey.c | |
parent | Implement keyfile forwarding (diff) | |
download | key2root-43d7766178e6696d009397d0e034b9cdaa9fa7da.tar.gz key2root-43d7766178e6696d009397d0e034b9cdaa9fa7da.tar.bz2 key2root-43d7766178e6696d009397d0e034b9cdaa9fa7da.tar.xz |
Fix support for NUL bytes in the keyfile
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'key2root-addkey.c')
-rw-r--r-- | key2root-addkey.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/key2root-addkey.c b/key2root-addkey.c index c9f62b3..5b3f1ee 100644 --- a/key2root-addkey.c +++ b/key2root-addkey.c @@ -164,6 +164,7 @@ main(int argc, char *argv[]) #define HASH_PREFIX "$6$" char generated_parameters[sizeof(HASH_PREFIX"$") + 16]; ssize_t r; + size_t i; ARGBEGIN { case 'r': @@ -228,6 +229,9 @@ main(int argc, char *argv[]) } key_len += (size_t)r; } + for (i = 0; i < key_len; i++) + if (!key[i]) + key[i] = 255; key[key_len] = '\0'; hash = crypt(key, parameters); if (!hash) |