Unicorn with delicious cookie
Nous utilisons des cookies pour améliorer votre expérience de navigation. En savoir plus
Accepter
to the top
>
>
>
V3528. AUTOSAR. The address of an...
menu mobile close menu
Additional information
toggle menu Contents

V3528. AUTOSAR. The address of an object with local scope should not be passed out of its scope.

03 Mar 2021

This diagnostic rule is based on the software development guidelines developed by AUTOSAR (AUTomotive Open System ARchitecture).

Copying an object's address to a pointer/reference with a long lifetime may cause that pointer/reference to become "dangling" after the original object has ceased to exist. This is a case of memory safety violation. Using data referenced by a "dangling" pointer/reference leads to undefined behavior.

First example of non-compliable code:

int& Foo( void )
{
  int some_variable;
  ....
  return some_variable;
}

Second example of non-compliable code:

#include <stddef.h>
void Bar( int **ptr )
{
  int some_variable;
  ....
  if (ptr != NULL)
    *ptr = &some_variable;
}

This diagnostic is classified as:

  • AUTOSAR-M7.5.2