diff --git a/src/core/lib/Hex.mjs b/src/core/lib/Hex.mjs index 78e1ad58..8e08f612 100644 --- a/src/core/lib/Hex.mjs +++ b/src/core/lib/Hex.mjs @@ -105,7 +105,7 @@ export function fromHex(data, delim="Auto", byteLen=2) { throw new OperationError("Byte length must be a positive integer"); if (delim !== "None") { - const delimRegex = delim === "Auto" ? /[^a-f\d]|0x/gi : Utils.regexRep(delim); + const delimRegex = delim === "Auto" ? /\s|0x/gi : Utils.regexRep(delim); data = data.split(delimRegex); } else { data = [data]; @@ -113,6 +113,8 @@ export function fromHex(data, delim="Auto", byteLen=2) { const output = []; for (let i = 0; i < data.length; i++) { + if (/[^a-f\d]/.test(data[i])) + throw new OperationError("Hex input must only contain hex digits"); for (let j = 0; j < data[i].length; j += byteLen) { output.push(parseInt(data[i].substr(j, byteLen), 16)); }