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.

This diagnostic is classified as:

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

Bugs Found

Checked Projects
Collected Errors
14 429
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 →