We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Software

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What Is a Dangling Pointer?

By Alex Newth
Updated: May 16, 2024

A dangling pointer is a programming flaw that occurs in object-oriented coding when a pointer object points to another object that no longer exists. In this instance, a pointer is not a mouse pointer but a pointer object that is intended to send the user to another object. This flaw creates subtle bugs that can become worse with time and also presents a security problem that skilled hackers can attack. A dangling pointer happens when a programmer erases the object being pointed to but does not erase the pointer itself.

In object-oriented coding, in which coding is separated into objects, there is an instance called a pointer. The pointer instance is placed somewhere in the program, typically in a menu, and leads the user to another object. For example, if the user highlights a section of a menu, another menu — a drop-down — appears. This allows the programmer to set up several objects in one section without crowding the section.

The dangling pointer error manifests when a programmer erases the object being pointed to. If the programmer also erases the pointer instance, there will be no problem. If the programmer forgets and keeps the pointer in the coding, this creates a dangling pointer and presents both quality and safety issues.

In terms of quality, a dangling pointer looks sloppy and creates subtle bugs. This is because the program does not know how to act, because it is being told to do something but cannot because the object is gone. This act creates random code or deteriorates code in small, subtle ways that are difficult to detect. These bugs can be as small as to make the program move a little slower but may eventually make the program — and even the computer — non-functioning.

Most programs with dangling pointers will work initially and may continue working for months or even years before the errors become obvious. Even programs that make computations, meaning the dangling pointer is in the formula, may still be able to make simple computations. This is one of the reasons why finding dangling pointers can be so difficult.

Until 2007, the dangling pointer only created safety issues in theory. The Watchfire® software company then made a program that showed how dangling pointers can be exploited, making the security risk a reality. Hackers are able to infiltrate a program via this bug and can inject their own code into the flawed program.

EasyTechJunkie is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Discussion Comments
Share
EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.

EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.