![]() |
![]() |
3230 | ![]() |
||||
![]() | |||||||
| Pointers | REFERENCE - ISO:C90-6.1.2.4 Storage Durations of Objects | ||||||
The address of a local automatic object is being assigned to a local pointer which has static storage duration. This is dangerous. When the local object goes out of scope, the value obtained by dereferencing this pointer will be undefined. Perhaps this object needs to be declared with static storage duration also? For example:
/*PRQA S 2017,2211,3203,3223,3408,3447 ++*/
void f(void)
{
static int* pi;
int a;
pi = &a; /* Message 3230 */
}
See also:
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |