V506. Pointer to local variable 'X' is stored outside the scope of this variable. Such a pointer will become invalid.

The analyzer found a potential error related to storing a pointer of a local variable. The warning is generated if the lifetime of an object is less than that of the pointer referring to it.

The first example:

class MyClass
  size_t *m_p;
  void Foo() {
    size_t localVar;
    m_p = &localVar;

In this case, the address of the local variable is saved inside the class into the m_p variable and can be then used by mistake in a different function when the localVar variable is destructed.

The second example:

void Get(float **x)
  float f;
  *x = &f;

The Get() function will return the pointer to the local variable that will not exist by the moment.

This message is similar to V507 message.

According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-562.

You can look at examples of errors detected by the V506 diagnostic.

Bugs Found

Checked Projects
Collected Errors
14 111
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site. Learn More →