luci-app-firewall: CBIProtocolSelect: properly handle unrecognized protos

Prevent incorrectly replacing unrecognized protocol numbers with -1.

Fixes: #5587
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2021-12-09 16:24:31 +01:00
parent 604c009059
commit 4381816315

View file

@ -590,8 +590,7 @@ return baseclass.extend({
});
widget.createChoiceElement = function(sb, value) {
var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/),
p = lookupProto(lookupProto(m ? +m[1] : value)[0]);
var p = lookupProto(value);
return ui.Dropdown.prototype.createChoiceElement.call(this, sb, p[2], p[1]);
};
@ -601,9 +600,11 @@ return baseclass.extend({
var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/),
p = lookupProto(m ? +m[1] : value);
return (p[0] > -1) ? p[2] : value;
return (p[0] > -1) ? p[2] : p[1];
});
values.sort();
return ui.Dropdown.prototype.createItems.call(this, sb, values.join(' '));
};