The following code is accepted by the cfg parser and will run: ``` $xavp(test1=>stuff) = "america"; # Good $xavp(test2->stuff) = "bahamas"; # Bad - Hyphen instead of equals $xavp(test3) = "cuba"; # Bad - No name given xlog("L_WARN", "1: $xavp(test1)\n"); xlog("L_WARN", "2: $xavp(test2)\n"); xlog("L_WARN", "3: $xavp(test3)\n"); xlog("L_WARN", "4: $xavp(test1=>stuff)\n"); xlog("L_WARN", "5: $xavp(test2=>stuff)\n"); xlog("L_WARN", "6: $xavp(test3=>stuff)\n"); ``` This prints: ``` 1: <xavp:0x7ff16f82c898> 2: <null> 3: cuba 4: america 5: null <null> or general protection fault/ core was generated...... ``` The crash can be fixed by checking the child node type (incoming), but could there be more validation of the (x)avp variables. I notice that $avp's can be treated as $xavps i.e. the following is accepted. `$avp(test4=>stuff) = "dominica";`
Is the usage above intended to be acceptable?
--- Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/511