Code Quality · JetBrains plugin
JDBC Double-Close Companion
FreeResource Leak Detection
Flags a JDBC resource .close()/use reached with the resource already closed on some or every path.
The gap it fixes
CWE-675 (Duplicate Operations on Resource) / adjacent to CWE-415 (Double Free): closing a JDBC Connection/Statement twice can throw SQLException on some drivers, or trigger undefined behavior. Coverity and Infer (real enterprise SAST tools) use "typestate-guided static analysis" for exactly this class of problem, confirming it's a real, established technique -- neither is free or an inline IDE plugin. The platform's own bundled "JDBC resource opened but not safely closed" inspection covers LEAKS (never closing), a different bug entirely -- never double-close or use-after-close with real
Facts and pricing
- Category
- Code Quality
- Pricing
- Free
- Platform
- IntelliJ-family
- First published
- —
- Marketplace ID
- #34070
- Repository
jdbc-double-close-companion- Growth
- ▲ +4400.0% since 2026-09-05 (1→45)
Related plugins
All Code Quality pluginsPreview every refactoring before committing it. Simulates a rename in an isolated, in-memory sandbox (using IntelliJ's own PSI, Find Usages, and refactoring processors, never a custom engine) and shows a full impact report, deterministic validation, and a native side-by-side diff before anything touches a real file.
A cognitive-complexity gutter icon for Java and Kotlin methods/functions: a colored badge with the real number, computed with SonarSource's documented Cognitive Complexity algorithm, never blocking the UI thread.
Shows errors and warnings inline, at the end of the line that has them, instead of only as a gutter icon or a squiggly underline you have to hover to read. One hint per line (most severe diagnostic wins) so it never turns into unreadable clutter.
Gutter icon next to every recognized feature-flag-check call's key literal in Java/Kotlin code (isEnabled("checkout_v2"), variation("checkout_v2", false), and similar), showing how many times that exact key is referenced anywhere else in the open project: helps find orphaned flags (dead code left behind after a rollout completed) without connecting to any provider. 100
Download and star counts as of 2026-10-18, refreshed twice daily from the JetBrains Marketplace and GitHub APIs.