luci-mod-system: flash.js: improve storage size detection heuristics
authorJo-Philipp Wich <jo@mein.io>
Wed, 25 Sep 2019 14:23:02 +0000 (16:23 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 25 Sep 2019 14:23:02 +0000 (16:23 +0200)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js

index c40a5d3c5ae154cb7bf6e42b88e9e2481f5e23c7..9ad64dad487319956556025f0239501330e5c6c3 100644 (file)
@@ -161,24 +161,26 @@ function findStorageSize(procmtd, procpart) {
        var kernsize = 0, rootsize = 0, wholesize = 0;
 
        procmtd.split(/\n/).forEach(function(ln) {
-               var match = ln.match(/^mtd\d+: ([0-9a-f]+) [0-9a-f]+ "(.+)"$/);
+               var match = ln.match(/^mtd\d+: ([0-9a-f]+) [0-9a-f]+ "(.+)"$/),
+                   size = match ? parseInt(match[1], 16) : 0;
 
                switch (match ? match[2] : '') {
                case 'linux':
                case 'firmware':
-                       wholesize = parseInt(match[1], 16);
+                       if (size > wholesize)
+                               wholesize = size;
                        break;
 
                case 'kernel':
                case 'kernel0':
-                       kernsize = parseInt(match[1], 16);
+                       kernsize = size;
                        break;
 
                case 'rootfs':
                case 'rootfs0':
                case 'ubi':
                case 'ubi0':
-                       rootsize = parseInt(match[1], 16);
+                       rootsize = size;
                        break;
                }
        });