From 4751534f2d29c609d61232beae834cb106974846 Mon Sep 17 00:00:00 2001 From: Aaron Turner Date: Thu, 9 Jul 2020 10:50:00 -0700 Subject: [PATCH 1/2] Fixed Incorrect Callback Return in Module Validation --- cli/asc.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cli/asc.js b/cli/asc.js index 0ab51882fc..f11d0310b6 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -653,12 +653,16 @@ exports.main = function main(argv, options, callback) { // Validate the module if requested if (!args.noValidate) { stats.validateCount++; + let callbackErrorResponse; stats.validateTime += measure(() => { if (!module.validate()) { module.dispose(); - return callback(Error("Validate error")); + callbackErrorResponse = callback(Error("Validate error")); } }); + if (callbackErrorResponse) { + return callbackErrorResponse; + } } // Set Binaryen-specific options From bc677be66dce2a1ecda19d2cb91f2554f8bec6c0 Mon Sep 17 00:00:00 2001 From: Aaron Turner Date: Fri, 10 Jul 2020 15:28:37 -0700 Subject: [PATCH 2/2] Made requested changes --- cli/asc.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index f11d0310b6..7879154234 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -653,15 +653,13 @@ exports.main = function main(argv, options, callback) { // Validate the module if requested if (!args.noValidate) { stats.validateCount++; - let callbackErrorResponse; + let isValid; stats.validateTime += measure(() => { - if (!module.validate()) { - module.dispose(); - callbackErrorResponse = callback(Error("Validate error")); - } + isValid = module.validate(); }); - if (callbackErrorResponse) { - return callbackErrorResponse; + if (!isValid) { + module.dispose(); + return callback(Error("validate error")); } }