Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V2504. MISRA. Size of an array is...
menu mobile close menu
Additional information
toggle menu Contents

V2504. MISRA. Size of an array is not specified.

Mar 25 2021

This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).

Explicitly specifying the array size makes code clearer and helps to prevent mistakes leading to an array overrun due to its exact size being unknown to the programmer.

The analyzer issues this warning when it detects a declaration of an array with the 'extern' specifier, provided that the array size is not specified explicitly. For example:

extern int arr[];

To eliminate the warning, specify the array size explicitly.

extern int arr[12];

If the array size can be inferred from the initializer, the warning is not issued.

int arr1[] = {1, 2, 3};

This diagnostic is classified as:

  • MISRA-C-2012-8.11
  • MISRA-C-2023-8.11
  • MISRA-CPP-2008-3.1.3