luci-app-vnstat2: fix configuration page when database is empty (#6746)
authorJan Hoffmann <jan@3e8.eu>
Wed, 6 Dec 2023 01:24:25 +0000 (02:24 +0100)
committerPaul Donald <newtwen@gmail.com>
Wed, 6 Dec 2023 01:27:32 +0000 (02:27 +0100)
The output of the command "vnstat --dbiflist 1" is empty when there are
no interfaces in the database. Add a check to avoid a "result.stdout is
undefined" error in that case.

Ref: https://forum.openwrt.org/t/error-in-luci-vnstat2-configuration-menu/179700
Fixes: 3ac4f567dfdf ("luci-app-vnstat2: use more efficient way to get database interfaces")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
(cherry picked from commit c0c37903f2276224c246c2a5ba0fb2732ba0e18a)

applications/luci-app-vnstat2/htdocs/luci-static/resources/view/vnstat2/config.js

index 4d4bfd0dbe1e94359c87665a0933c6259b59ad02..dd5bf715e43c0b5d11efedf58099301c75b9d795 100644 (file)
@@ -60,7 +60,7 @@ return view.extend({
                o.load = function(section_id) {
                        return fs.exec('/usr/bin/vnstat', ['--dbiflist', '1']).then(L.bind(function(result) {
                                var databaseInterfaces = [];
-                               if (result.code == 0) {
+                               if (result.code == 0 && result.stdout) {
                                        databaseInterfaces = result.stdout.trim().split('\n');
                                }