Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
spifly-1.3.0, spifly-1.3.1, spifly-1.3.2
-
None
-
None
Description
In the Util class, exactly one thread context class loader can be stored per thread (stack). It works if there is only one method intercepted per thread stack. If the intercepted method leads to code that itself leads to another call into SPI Fly, this happens again and overwrites the stored context class loader.
While this scenario is unusual, it can happen in rare cases and it is a potentially dangerous flaw. The implementation should not store only one value per thread but a LiFo stack, a DeQueue.