CWE-1079 Parent Class Without Virtual Destructor Explained
CWE-1079 flags a parent class with child classes but no virtual destructor. In C++ this can cause undefined behavior and leaks when objects are deleted through a base pointer.
Deep dives, practical guides, and incident analyses from engineers who build Safeguard. No fluff, no vendor FUD — just what you need to ship secure software.
CWE-1079 flags a parent class with child classes but no virtual destructor. In C++ this can cause undefined behavior and leaks when objects are deleted through a base pointer.
CWE-1078 covers code that ignores agreed style for indentation, whitespace and comments. It is a quality issue, but it can hide real bugs from reviewers.
Comparing floats with equality can fail because of rounding. CWE-1077 explains why, with Python and Java examples and safe comparison patterns.
Hard-coded constants, explicit finalize calls and other convention breaks make code harder to fix safely. CWE-1076 with C and Java examples.
A goto outside a branching structure makes code hard to follow and easy to break. CWE-1075 explains the risk and cleaner alternatives.
A class with many parent classes is hard to read and change. CWE-1074 cites 7 parent classes as a default maximum and how to flatten the design.
Client functions that make many separate data calls are slow and costly to run. CWE-1073 cites 2 per function as a default maximum and shows the fix.
Opening a new database connection per request is slow and easy to exhaust. CWE-1072 explains why pools matter and how to adopt one.
An empty block can mean unfinished work, accidental deletion or a bug. CWE-1071 covers where they hide and how to clean them up.
Weekly insights on software supply chain security, delivered to your inbox.
Your first fix PR is minutes away.
No sales call required, even your agent can complete the purchase over MCP.