Socket
Socket
Sign inDemoInstall

@webassemblyjs/wasm-parser

Package Overview
Dependencies
Maintainers
1
Versions
86
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@webassemblyjs/wasm-parser - npm Package Compare versions

Comparing version 1.5.8 to 1.5.9

88

lib/decoder.js

@@ -10,4 +10,8 @@ "use strict";

var ieee754 = _interopRequireWildcard(require("@webassemblyjs/ieee754"));
var _leb = require("@webassemblyjs/leb128");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

@@ -31,4 +35,2 @@

var ieee754 = require("./ieee754");
var _require2 = require("./utf8"),

@@ -156,10 +158,32 @@ utf8ArrayToStr = _require2.utf8ArrayToStr;

return arr;
} // FIXME(sven): use ieee754 package
}
function readF64() {
var bytes = readBytes(ieee754.NUMBER_OF_BYTE_F64);
var buffer = Buffer.from(bytes); // FIXME(sven): should be DOUBLE_PRECISION_MANTISSA?
var value = ieee754.decodeF64(bytes);
var value = ieee754.decode(buffer, 0, true, ieee754.SINGLE_PRECISION_MANTISSA, ieee754.NUMBER_OF_BYTE_F64);
if (Math.sign(value) * value === Infinity) {
return {
value: Math.sign(value),
inf: true,
nextIndex: ieee754.NUMBER_OF_BYTE_F64
};
}
if (isNaN(value)) {
var sign = bytes[bytes.length - 1] >> 7 ? -1 : 1;
var mantissa = 0;
for (var i = 0; i < bytes.length - 2; ++i) {
mantissa += bytes[i] * Math.pow(256, i);
}
mantissa += bytes[bytes.length - 2] % 16 * Math.pow(256, bytes.length - 2);
return {
value: sign * mantissa,
nan: true,
nextIndex: ieee754.NUMBER_OF_BYTE_F64
};
}
return {

@@ -173,4 +197,28 @@ value: value,

var bytes = readBytes(ieee754.NUMBER_OF_BYTE_F32);
var buffer = Buffer.from(bytes);
var value = ieee754.decode(buffer, 0, true, ieee754.SINGLE_PRECISION_MANTISSA, ieee754.NUMBER_OF_BYTE_F32);
var value = ieee754.decodeF32(bytes);
if (Math.sign(value) * value === Infinity) {
return {
value: Math.sign(value),
inf: true,
nextIndex: ieee754.NUMBER_OF_BYTE_F32
};
}
if (isNaN(value)) {
var sign = bytes[bytes.length - 1] >> 7 ? -1 : 1;
var mantissa = 0;
for (var i = 0; i < bytes.length - 2; ++i) {
mantissa += bytes[i] * Math.pow(256, i);
}
mantissa += bytes[bytes.length - 2] % 128 * Math.pow(256, bytes.length - 2);
return {
value: sign * mantissa,
nan: true,
nextIndex: ieee754.NUMBER_OF_BYTE_F32
};
}
return {

@@ -750,3 +798,3 @@ value: value,

eatBytes(value32.nextIndex);
dump([value], "value");
dump([value], "i32 value");
args.push(t.numberLiteralFromRaw(value));

@@ -759,3 +807,3 @@ }

eatBytes(valueu32.nextIndex);
dump([_value], "value");
dump([_value], "u32 value");
args.push(t.numberLiteralFromRaw(_value));

@@ -768,3 +816,3 @@ }

eatBytes(value64.nextIndex);
dump([_value2], "value");
dump([_value2], "i64 value");
var node = {

@@ -781,3 +829,3 @@ type: "LongNumberLiteral",

eatBytes(valueu64.nextIndex);
dump([_value3], "value");
dump([_value3], "u64 value");
args.push(t.numberLiteralFromRaw(_value3));

@@ -790,4 +838,5 @@ }

eatBytes(valuef32.nextIndex);
dump([_value4], "value");
args.push(t.numberLiteralFromRaw(_value4));
dump([_value4], "f32 value");
args.push( // $FlowIgnore
t.floatLiteral(_value4, valuef32.nan, valuef32.inf, String(_value4)));
}

@@ -799,4 +848,5 @@

eatBytes(valuef64.nextIndex);
dump([_value5], "value");
args.push(t.numberLiteralFromRaw(_value5));
dump([_value5], "f64 value");
args.push( // $FlowIgnore
t.floatLiteral(_value5, valuef64.nan, valuef64.inf, String(_value5)));
}

@@ -968,2 +1018,3 @@ } else {

for (var i = 0; i < numberOfGlobals; i++) {
var startLoc = getPosition();
var globalType = parseGlobalType();

@@ -976,3 +1027,4 @@ /**

parseInstructionBlock(init);
var node = t.global(globalType, init);
var endLoc = getPosition();
var node = t.withLoc(t.global(globalType, init), endLoc, startLoc);
globals.push(node);

@@ -1464,3 +1516,3 @@ state.globalsInModule.push(node);

throw new _helperApiError.CompileError("Unexpected section: " + toHex(sectionId));
throw new _helperApiError.CompileError("invalid section id (" + toHex(sectionId) + ")");
}

@@ -1467,0 +1519,0 @@

{
"name": "@webassemblyjs/wasm-parser",
"version": "1.5.8",
"version": "1.5.9",
"keywords": [

@@ -19,7 +19,8 @@ "webassembly",

"dependencies": {
"@webassemblyjs/ast": "1.5.8",
"@webassemblyjs/helper-api-error": "1.5.8",
"@webassemblyjs/helper-wasm-bytecode": "1.5.8",
"@webassemblyjs/leb128": "1.5.8",
"@webassemblyjs/wasm-parser": "1.5.8"
"@webassemblyjs/ast": "1.5.9",
"@webassemblyjs/helper-api-error": "1.5.9",
"@webassemblyjs/helper-wasm-bytecode": "1.5.9",
"@webassemblyjs/ieee754": "1.5.9",
"@webassemblyjs/leb128": "1.5.9",
"@webassemblyjs/wasm-parser": "1.5.9"
},

@@ -35,8 +36,8 @@ "repository": {

"@webassemblyjs/helper-buffer": "1.5.4",
"@webassemblyjs/helper-test-framework": "1.5.8",
"@webassemblyjs/helper-wasm-bytecode": "1.5.8",
"@webassemblyjs/helper-test-framework": "1.5.9",
"@webassemblyjs/helper-wasm-bytecode": "1.5.9",
"@webassemblyjs/wasm-gen": "1.5.4",
"@webassemblyjs/wast-parser": "1.5.8",
"@webassemblyjs/wast-parser": "1.5.9",
"wabt": "^1.0.0"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc