diff options
author | Matthew Miller <matthew@millerti.me> | 2023-08-17 12:17:13 -0700 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2023-08-17 12:17:13 -0700 |
commit | e660597f5e7a7c9ab6040418187bfb229da143f5 (patch) | |
tree | 6cbab00f726d879845c825034547fff64a98c071 /packages/server/src | |
parent | 1ad27adf827e0dea095748d35740daa9e70ffe10 (diff) |
Don't mutate original CBOR bytes
Diffstat (limited to 'packages/server/src')
-rw-r--r-- | packages/server/src/helpers/iso/isoCBOR.ts | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/server/src/helpers/iso/isoCBOR.ts b/packages/server/src/helpers/iso/isoCBOR.ts index c56dcc2..cff3e56 100644 --- a/packages/server/src/helpers/iso/isoCBOR.ts +++ b/packages/server/src/helpers/iso/isoCBOR.ts @@ -24,7 +24,9 @@ const encoder = new cborx.Encoder({ * `false` */ export function decodeFirst<Type>(input: Uint8Array): Type { - const decoded = encoder.decodeMultiple(input) as undefined | Type[]; + // Make a copy so we don't mutate the original + const _input = new Uint8Array(input); + const decoded = encoder.decodeMultiple(_input) as undefined | Type[]; if (decoded === undefined) { throw new Error("CBOR input data was empty"); |