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

5 次查看(过去 30 天)
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

回答(1 个)

Srija Kethiri
Srija Kethiri 2022-10-28
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!

标签

Community Treasure Hunt

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

Start Hunting!

Translated by