diff options
-rw-r--r-- | src/bplist.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/bplist.c b/src/bplist.c index 7cc8a03..ad8e753 100644 --- a/src/bplist.c +++ b/src/bplist.c @@ -214,13 +214,9 @@ static plist_t parse_uint_node(const char **bnode, uint8_t size) case sizeof(uint16_t): case sizeof(uint32_t): case sizeof(uint64_t): - memcpy(&data->intval, *bnode, size); - data->intval = UINT_TO_HOST(&data->intval, size); data->length = sizeof(uint64_t); break; case 16: - memcpy(&data->intval, (*bnode)+8, sizeof(uint64_t)); - data->intval = UINT_TO_HOST(&data->intval, sizeof(uint64_t)); data->length = size; break; default: @@ -228,6 +224,8 @@ static plist_t parse_uint_node(const char **bnode, uint8_t size) return NULL; }; + data->intval = UINT_TO_HOST(*bnode, size); + (*bnode) += size; data->type = PLIST_UINT; |