Bug Finder report for autosar violation 5-0-15.

4 views (last 30 days)
Hi,
I am facing a violation in a line of my C++ code, where the function is returning a pointer to a structure and i am indexing the returned pointer as below:
f(x)[0].value;
The AUTOSAR violation states the "array indexing is the only form of pointer arithmetic".
Is the reason for violation because we are returning a structure pointer inside of f(x)? and not a array pointer?
Regards
Kunal

Answers (1)

Srija Kethiri
Srija Kethiri on 28 Oct 2022
Hi Kunal,
The reason is, structure pointer violates the following compliance rules of ANSI C:
17.1 (required): Pointer arithmetic shall only be applied to pointers that address an array or array element.
17.4 (required): Array indexing shall be the only allowed form of pointer arithmetic.
Therefore, the solution to this issue is to use the "-allow-ptr-arith-on-struct" option and treat the orange as safe.
Hope this helps!

Categories

Find more on Historical Contests in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!