summaryrefslogtreecommitdiff
path: root/common/hash.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-07-24 18:03:28 +0300
committerTom Rini <trini@konsulko.com>2021-08-02 20:31:32 +0300
commit031725f8cdf33e836d19f35d3fe82c5baa5a2976 (patch)
tree011d6f7d748bdc87fd5efcac5c8df758505cbc37 /common/hash.c
parent73994c452fc5a960114360a651201ac48b135e81 (diff)
downloadu-boot-031725f8cdf33e836d19f35d3fe82c5baa5a2976.tar.xz
hash: Ensure verification hex pairs are terminated
This function seems to assume that the chr[] variable contains zeros at the start, which is not always true. Use strlcpy() to be safe. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/hash.c')
-rw-r--r--common/hash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/common/hash.c b/common/hash.c
index 90cf46bcba..059d381e23 100644
--- a/common/hash.c
+++ b/common/hash.c
@@ -396,7 +396,7 @@ int hash_parse_string(const char *algo_name, const char *str, uint8_t *result)
for (i = 0; i < algo->digest_size; i++) {
char chr[3];
- strncpy(chr, &str[i * 2], 2);
+ strlcpy(chr, &str[i * 2], 3);
result[i] = simple_strtoul(chr, NULL, 16);
}