summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2023-08-17 12:17:13 -0700
committerMatthew Miller <matthew@millerti.me>2023-08-17 12:17:13 -0700
commite660597f5e7a7c9ab6040418187bfb229da143f5 (patch)
tree6cbab00f726d879845c825034547fff64a98c071
parent1ad27adf827e0dea095748d35740daa9e70ffe10 (diff)
Don't mutate original CBOR bytes
-rw-r--r--packages/server/src/helpers/iso/isoCBOR.ts4
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");