From 69e61ec2f2a290ed9b20ea1f52f1f7fde789a185 Mon Sep 17 00:00:00 2001 From: ansuz Date: Fri, 27 Sep 2019 14:28:59 +0200 Subject: [PATCH] ignore metadata commands which add invalid owners --- lib/metadata.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/metadata.js b/lib/metadata.js index 6231ea224..de40043af 100644 --- a/lib/metadata.js +++ b/lib/metadata.js @@ -15,6 +15,10 @@ var deduplicate = require("./deduplicate"); var commands = {}; +var isValidOwner = function (owner) { + return typeof(owner) === 'string' && owner.length === 44; +}; + // ["ADD_OWNERS", ["7eEqelGso3EBr5jHlei6av4r9w2B9XZiGGwA1EgZ-5I="], 1561623438989] commands.ADD_OWNERS = function (meta, args) { // bail out if args isn't an array @@ -30,6 +34,7 @@ commands.ADD_OWNERS = function (meta, args) { var changed = false; args.forEach(function (owner) { + if (!isValidOwner(owner)) { return; } if (meta.owners.indexOf(owner) >= 0) { return; } meta.owners.push(owner); changed = true; @@ -90,6 +95,7 @@ commands.ADD_PENDING_OWNERS = function (meta, args) { } // or fill it args.forEach(function (owner) { + if (!isValidOwner(owner)) { return; } if (meta.pending_owners.indexOf(owner) >= 0) { return; } meta.pending_owners.push(owner); changed = true; @@ -134,7 +140,7 @@ commands.RESET_OWNERS = function (meta, args) { } // overwrite the existing owners with the new one - meta.owners = deduplicate(args); + meta.owners = deduplicate(args.filter(isValidOwner)); return true; };