From: Paul Donald Date: Tue, 30 Apr 2024 14:01:26 +0000 (+0200) Subject: luci-mod-dashboard: prevent null or undefined 'ifc' X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=fd3d14e9a4a54a2a4fa45d645d5cbbf351a4d5c1;p=project%2Fluci.git luci-mod-dashboard: prevent null or undefined 'ifc' This can happen on factory fresh settings, or a box not yet connected. follow-up fix for c75232d8d29ba5a9cc5c07c3fff65248f12f1b08 Signed-off-by: Paul Donald --- diff --git a/modules/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js b/modules/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js index f5002df84d..4cc671da52 100644 --- a/modules/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js +++ b/modules/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/10_router.js @@ -153,24 +153,25 @@ return baseclass.extend({ } var ifc = data[min_metric_i]; - - if (v6) { - var uptime = ifc.getUptime(); - this.params.internet.v6.uptime.value = (uptime > 0) ? '%t'.format(uptime) : '-'; - this.params.internet.v6.ipprefixv6.value = ifc.getIP6Prefix() || '-'; - this.params.internet.v6.gatewayv6.value = ifc.getGateway6Addr() || '-'; - this.params.internet.v6.protocol.value= ifc.getI18n() || E('em', _('Not connected')); - this.params.internet.v6.addrsv6.value = ifc.getIP6Addrs() || [ '-' ]; - this.params.internet.v6.dnsv6.value = ifc.getDNS6Addrs() || [ '-' ]; - this.params.internet.v6.connected.value = ifc.isUp(); - } else { - var uptime = ifc.getUptime(); - this.params.internet.v4.uptime.value = (uptime > 0) ? '%t'.format(uptime) : '-'; - this.params.internet.v4.protocol.value= ifc.getI18n() || E('em', _('Not connected')); - this.params.internet.v4.gatewayv4.value = ifc.getGatewayAddr() || '0.0.0.0'; - this.params.internet.v4.connected.value = ifc.isUp(); - this.params.internet.v4.addrsv4.value = ifc.getIPAddrs() || [ '-']; - this.params.internet.v4.dnsv4.value = ifc.getDNSAddrs() || [ '-' ]; + if(ifc){ + if (v6) { + var uptime = ifc.getUptime(); + this.params.internet.v6.uptime.value = (uptime > 0) ? '%t'.format(uptime) : '-'; + this.params.internet.v6.ipprefixv6.value = ifc.getIP6Prefix() || '-'; + this.params.internet.v6.gatewayv6.value = ifc.getGateway6Addr() || '-'; + this.params.internet.v6.protocol.value= ifc.getI18n() || E('em', _('Not connected')); + this.params.internet.v6.addrsv6.value = ifc.getIP6Addrs() || [ '-' ]; + this.params.internet.v6.dnsv6.value = ifc.getDNS6Addrs() || [ '-' ]; + this.params.internet.v6.connected.value = ifc.isUp(); + } else { + var uptime = ifc.getUptime(); + this.params.internet.v4.uptime.value = (uptime > 0) ? '%t'.format(uptime) : '-'; + this.params.internet.v4.protocol.value= ifc.getI18n() || E('em', _('Not connected')); + this.params.internet.v4.gatewayv4.value = ifc.getGatewayAddr() || '0.0.0.0'; + this.params.internet.v4.connected.value = ifc.isUp(); + this.params.internet.v4.addrsv4.value = ifc.getIPAddrs() || [ '-']; + this.params.internet.v4.dnsv4.value = ifc.getDNSAddrs() || [ '-' ]; + } } },