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

4 Ansichten (letzte 30 Tage)
Kunal Khosla
Kunal Khosla am 7 Jan. 2021
Beantwortet: Srija Kethiri am 28 Okt. 2022
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

Antworten (1)

Srija Kethiri
Srija Kethiri am 28 Okt. 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!

Kategorien

Mehr zu Historical Contests finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by