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.8.1 to 1.8.2

56

esm/decoder.js

@@ -1101,2 +1101,38 @@ 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); } }

return nameMetadata;
} // this is a custom setion used for information about the producers
// https://github.com/WebAssembly/tool-conventions/blob/master/ProducersSection.md
function parseProducersSection() {
var metadata = t.producersSectionMetadata([]); // field_count
var sectionTypeByte = readVaruint32();
eatBytes(sectionTypeByte.nextIndex);
dump([sectionTypeByte.value], "num of producers");
var fields = {
language: [],
"processed-by": [],
sdk: []
}; // fields
for (var fieldI = 0; fieldI < sectionTypeByte.value; fieldI++) {
// field_name
var fieldName = readUTF8String();
eatBytes(fieldName.nextIndex); // field_value_count
var valueCount = readVaruint32();
eatBytes(valueCount.nextIndex); // field_values
for (var producerI = 0; producerI < valueCount.value; producerI++) {
var producerName = readUTF8String();
eatBytes(producerName.nextIndex);
var producerVersion = readUTF8String();
eatBytes(producerVersion.nextIndex);
fields[fieldName.value].push(t.producerMetadataVersionedName(producerName.value, producerVersion.value));
}
metadata.producers.push(fields[fieldName.value]);
}
return metadata;
}

@@ -1596,2 +1632,4 @@

if (sectionName.value === "name") {
var initialOffset = offset;
try {

@@ -1601,4 +1639,13 @@ _metadata12.push.apply(_metadata12, _toConsumableArray(parseNameSection(_remainingBytes2)));

console.warn("Failed to decode custom \"name\" section @".concat(offset, "; ignoring (").concat(e.message, ")."));
eatBytes(_remainingBytes2);
eatBytes(offset - (initialOffset + _remainingBytes2));
}
} else if (sectionName.value === "producers") {
var _initialOffset = offset;
try {
_metadata12.push(parseProducersSection());
} catch (e) {
console.warn("Failed to decode custom \"producers\" section @".concat(offset, "; ignoring (").concat(e.message, ")."));
eatBytes(offset - (_initialOffset + _remainingBytes2));
}
} else {

@@ -1628,3 +1675,4 @@ // We don't parse the custom section

functionNames: [],
localNames: []
localNames: [],
producers: []
};

@@ -1648,2 +1696,4 @@ /**

moduleMetadata.localNames.push(metadataItem);
} else if (metadataItem.type === "ProducersSectionMetadata") {
moduleMetadata.producers.push(metadataItem);
} else {

@@ -1713,4 +1763,4 @@ moduleMetadata.sections.push(metadataItem);

dumpSep("end of program");
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames));
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames, moduleMetadata.producers));
return t.program([module]);
}

@@ -1117,2 +1117,38 @@ "use strict";

return nameMetadata;
} // this is a custom setion used for information about the producers
// https://github.com/WebAssembly/tool-conventions/blob/master/ProducersSection.md
function parseProducersSection() {
var metadata = t.producersSectionMetadata([]); // field_count
var sectionTypeByte = readVaruint32();
eatBytes(sectionTypeByte.nextIndex);
dump([sectionTypeByte.value], "num of producers");
var fields = {
language: [],
"processed-by": [],
sdk: []
}; // fields
for (var fieldI = 0; fieldI < sectionTypeByte.value; fieldI++) {
// field_name
var fieldName = readUTF8String();
eatBytes(fieldName.nextIndex); // field_value_count
var valueCount = readVaruint32();
eatBytes(valueCount.nextIndex); // field_values
for (var producerI = 0; producerI < valueCount.value; producerI++) {
var producerName = readUTF8String();
eatBytes(producerName.nextIndex);
var producerVersion = readUTF8String();
eatBytes(producerVersion.nextIndex);
fields[fieldName.value].push(t.producerMetadataVersionedName(producerName.value, producerVersion.value));
}
metadata.producers.push(fields[fieldName.value]);
}
return metadata;
}

@@ -1612,2 +1648,4 @@

if (sectionName.value === "name") {
var initialOffset = offset;
try {

@@ -1617,4 +1655,13 @@ _metadata12.push.apply(_metadata12, _toConsumableArray(parseNameSection(_remainingBytes2)));

console.warn("Failed to decode custom \"name\" section @".concat(offset, "; ignoring (").concat(e.message, ")."));
eatBytes(_remainingBytes2);
eatBytes(offset - (initialOffset + _remainingBytes2));
}
} else if (sectionName.value === "producers") {
var _initialOffset = offset;
try {
_metadata12.push(parseProducersSection());
} catch (e) {
console.warn("Failed to decode custom \"producers\" section @".concat(offset, "; ignoring (").concat(e.message, ")."));
eatBytes(offset - (_initialOffset + _remainingBytes2));
}
} else {

@@ -1644,3 +1691,4 @@ // We don't parse the custom section

functionNames: [],
localNames: []
localNames: [],
producers: []
};

@@ -1664,2 +1712,4 @@ /**

moduleMetadata.localNames.push(metadataItem);
} else if (metadataItem.type === "ProducersSectionMetadata") {
moduleMetadata.producers.push(metadataItem);
} else {

@@ -1729,4 +1779,4 @@ moduleMetadata.sections.push(metadataItem);

dumpSep("end of program");
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames));
var module = t.module(null, moduleFields, t.moduleMetadata(moduleMetadata.sections, moduleMetadata.functionNames, moduleMetadata.localNames, moduleMetadata.producers));
return t.program([module]);
}

24

package.json
{
"name": "@webassemblyjs/wasm-parser",
"version": "1.8.1",
"version": "1.8.2",
"keywords": [

@@ -20,8 +20,8 @@ "webassembly",

"dependencies": {
"@webassemblyjs/ast": "1.8.1",
"@webassemblyjs/helper-api-error": "1.8.1",
"@webassemblyjs/helper-wasm-bytecode": "1.8.1",
"@webassemblyjs/ieee754": "1.8.1",
"@webassemblyjs/leb128": "1.8.1",
"@webassemblyjs/utf8": "1.8.1"
"@webassemblyjs/ast": "1.8.2",
"@webassemblyjs/helper-api-error": "1.8.2",
"@webassemblyjs/helper-wasm-bytecode": "1.8.2",
"@webassemblyjs/ieee754": "1.8.2",
"@webassemblyjs/leb128": "1.8.2",
"@webassemblyjs/utf8": "1.8.2"
},

@@ -36,11 +36,11 @@ "repository": {

"devDependencies": {
"@webassemblyjs/helper-buffer": "1.8.1",
"@webassemblyjs/helper-test-framework": "1.8.1",
"@webassemblyjs/helper-buffer": "1.8.2",
"@webassemblyjs/helper-test-framework": "1.8.2",
"@webassemblyjs/helper-wasm-bytecode": "1.7.7",
"@webassemblyjs/wasm-gen": "1.8.1",
"@webassemblyjs/wast-parser": "1.8.1",
"@webassemblyjs/wasm-gen": "1.8.2",
"@webassemblyjs/wast-parser": "1.8.2",
"mamacro": "^0.0.3",
"wabt": "1.0.0-nightly.20180421"
},
"gitHead": "a2f42245e9b597e3541e0f697253449d60fc4d79"
"gitHead": "02af462b507aa7a24f5d3201178434b181bcdabb"
}
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