libs/web: fix possible dispatcher crash
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 26 Oct 2011 03:04:41 +0000 (03:04 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 26 Oct 2011 03:04:41 +0000 (03:04 +0000)
libs/web/luasrc/dispatcher.lua

index b1ed62b..fa78b2f 100644 (file)
@@ -92,18 +92,21 @@ end
 -- @param node Dispatch node
 -- @return             Ordered table of child node names
 function node_childs(node)
-   local rv = { }
-   local k, v
-   for k, v in util.spairs(node.nodes,
-         function(a, b)
-           return (node.nodes[a].order or 100) < (node.nodes[b].order or 100)
-         end)
-   do
-         if node_visible(v) then
-                rv[#rv+1] = k
-         end
-   end
-   return rv
+       local rv = { }
+       if node then
+               local k, v
+               for k, v in util.spairs(node.nodes,
+                       function(a, b)
+                               return (node.nodes[a].order or 100)
+                                    < (node.nodes[b].order or 100)
+                       end)
+               do
+                       if node_visible(v) then
+                               rv[#rv+1] = k
+                       end
+               end
+       end
+       return rv
 end