summaryrefslogtreecommitdiff
path: root/scripts/code_tools
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2024-07-18 14:24:36 -0400
committerNat Goodspeed <nat@lindenlab.com>2024-07-18 14:24:36 -0400
commitcd64842e338fb216f0772e371278c56b921f6f87 (patch)
tree35efd500eb1eb08376799c2ba139841979e74f64 /scripts/code_tools
parentf2f0fa7fd0efc221f1358dd4e440b5d51a5fb8b4 (diff)
Improve viewer's defense against `LLEventAPI` failures.
`LLEventAPI` is specifically intended to allow a LEAP plugin, or a Lua script, to access certain viewer functionality. Errors in external code like that cannot be addressed during viewer development. Any code path that allows external code in any form to crash the viewer opens up a potential abuse vector, if a trusting user runs external code from an untrustworthy source. `LLDispatchListener` reports exceptions back to its invoker, if the invoker provides a "reply" `LLEventPump` name. Absent "reply", though, `LLDispatchListener` is documented to let any such exception propagate. That behavior may be okay for internal use, but in the case of the `LLEventAPI` subclass, it veers into the abuse scenario described above. Make `LLEventAPI` ensure that any exception propagating from `LLDispatchListener` is caught and logged, but not propagated. Also enrich error reporting for the "batch" `LLDispatchListener` operations.
Diffstat (limited to 'scripts/code_tools')
0 files changed, 0 insertions, 0 deletions