luci-base: uci.js: fix variable clash

Don't overwrite the `r` variable which is supposed to refer to the reordered
uci sections with temporary data for collecting uci add parameters.

Fixes stray uci/get permission errors caused by an attempt to load
nonsensical uci package names.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 55cb5a753b)
This commit is contained in:
Jo-Philipp Wich 2020-04-13 12:22:13 +02:00
parent 22b3919b05
commit 96e3a03d8e

View file

@ -784,22 +784,22 @@ return baseclass.extend(/** @lends LuCI.uci.prototype */ {
if (n)
for (var conf in n) {
for (var sid in n[conf]) {
var r = {
var p = {
config: conf,
values: { }
};
for (var k in n[conf][sid]) {
if (k == '.type')
r.type = n[conf][sid][k];
p.type = n[conf][sid][k];
else if (k == '.create')
r.name = n[conf][sid][k];
p.name = n[conf][sid][k];
else if (k.charAt(0) != '.')
r.values[k] = n[conf][sid][k];
p.values[k] = n[conf][sid][k];
}
snew.push(n[conf][sid]);
tasks.push(self.callAdd(r.config, r.type, r.name, r.values));
tasks.push(self.callAdd(p.config, p.type, p.name, p.values));
}
pkgs[conf] = true;