From 202e8ec125af87c5bfa1d4ee401a42bc37f9d159 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 10 Nov 2023 03:54:27 +0000 Subject: opack: Fix parsing of 32 and 64 bit packed values 32 and 64 bit packed values were not parsed correctly due to bad pointer manipulation. Thanks to @cornejo for spotting this! --- src/opack.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opack.c b/src/opack.c index 8892c26..9c4ba55 100644 --- a/src/opack.c +++ b/src/opack.c @@ -304,11 +304,11 @@ static int opack_decode_obj(unsigned char** p, unsigned char* end, plist_t* plis } else if (type == 0x32) { uint32_t u32val = *(uint32_t*)*p; value = (int32_t)le32toh(u32val); - (p)+=4; + (*p)+=4; } else if (type == 0x33) { uint64_t u64val = *(uint64_t*)*p; value = le64toh(u64val); - (p)+=8; + (*p)+=8; } else { fprintf(stderr, "%s: ERROR: Invalid encoded byte '%02x'\n", __func__, type); *p = end; -- cgit v1.1-32-gdbae