Every occurrence of an empty variable is on the third line.
Script Code:
{
:local func do={ :put "txt $domainName" }
[$func domainName=123]
[$func domainName=223]
}
{ :local func do={ :return "txt $domainName" } :put [$func domainName=123] :put [$func domainName=223] :put [$func domainName=323] :put [$func domainName=423] }
{ :local func ":put \"txt \$domainName\"" :local domainName 123 [:parse ":local domainName $domainName ; $func"] :local domainName 223 [:parse ":local domainName $domainName ; $func"] :local domainName 323 [:parse ":local domainName $domainName ; $func"] :local domainName 423 [:parse ":local domainName $domainName ; $func"] }
{ :local func do={ :return {"domainName"="txt $domainName";"another"="text string"} } :put ([$func domainName="123"]->"domainName") :put ([$func domainName="223"]->"domainName") :put ([$func domainName="666"]->"another") }
Surely if someone has access to write new scripts in the RouterBOARD they will worry about causing buffer overflows on the machine they already have under control...Otherwise, it could be exploited by someone as a buffer overflow to execute attack code.
Code:Select all{ :local func do={ :return "txt $domainName" } :put [$func domainName=123] :put [$func domainName=223] :put [$func domainName=323] :put [$func domainName=423] }
[$myFunc] [$myFunc]
$myFunc $myFunc