From 5fb2a5fe67521a452463e6b91cee406ec14c35a0 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 17 May 2026 21:02:39 +0200 Subject: Fix mistakes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- hmac_unmarshal.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'hmac_unmarshal.c') diff --git a/hmac_unmarshal.c b/hmac_unmarshal.c index 197ea32..5ce2a5e 100644 --- a/hmac_unmarshal.c +++ b/hmac_unmarshal.c @@ -5,16 +5,18 @@ size_t libsha2_hmac_unmarshal(struct libsha2_hmac_state *restrict state, const void *restrict buf_, size_t bufsize) { - const char *restrict buf = buf_; + const unsigned char *restrict buf = buf_; size_t off = 0; size_t r; + int version; if (bufsize < sizeof(int)) { errno = EINVAL; return 0; } - if (*(const int *)buf) { /* version */ + memcpy(&version, buf, sizeof(int)); + if (version != 0) { errno = EINVAL; return 0; } @@ -30,10 +32,10 @@ libsha2_hmac_unmarshal(struct libsha2_hmac_state *restrict state, const void *re return 0; } - state->outsize = *(const size_t *)&buf[off]; + memcpy(&state->outsize, &buf[off], sizeof(size_t)); off += sizeof(size_t); - state->inited = *(const unsigned char *)&buf[off]; + state->inited = buf[off]; off += sizeof(unsigned char); memcpy(state->ipad, &buf[off], state->sha2_state.chunk_size); -- cgit v1.3.1