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

9 ビュー (過去 30 日間)
Kunal Khosla
Kunal Khosla 2021 年 1 月 7 日
回答済み: Srija Kethiri 2022 年 10 月 28 日
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!

カテゴリ

Help Center および File ExchangeHistorical Contests についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by