The LSan wiki design document states:
Another useful feature is being able to distinguish between directly leaked
blocks (not reachable from anywhere) and indirectly leaked blocks (reachable
from other leaked blocks).
Stated another way, indirect leaks are a result of direct leaks. Fixing direct leaks should make the indirect leaks become either fixed or direct leaks themselves (depending on whether their memory management is implemented correctly or not, respectively).