treewide: filter shell arguments through shellquote() where applicable
[project/luci.git] / applications / luci-app-openvpn / luasrc / model / cbi / openvpn.lua
index 719145b..ccad531 100644 (file)
@@ -26,9 +26,9 @@ uci:foreach( "openvpn_recipes", "openvpn_recipe",
 )
 
 function s.getPID(section) -- Universal function which returns valid pid # or nil
 )
 
 function s.getPID(section) -- Universal function which returns valid pid # or nil
-       local pid = sys.exec("%s | grep -w %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} )
-       if pid and #pid > 0 and tonumber(pid) ~= nil then
-               return tonumber(pid)
+       local pid = sys.exec("%s | grep -w [o]penvpn(%s)" % { psstring, section })
+       if pid and #pid > 0 then
+               return tonumber(pid:match("^%d+"))
        else
                return nil
        end
        else
                return nil
        end