robo-marc / navigation

ROS Navigation stack. Code for finding where the robot is and how it can get somewhere else.
0 stars 2 forks source link

【産総研】【対応対象外】ゼロ除算が発生する可能性があるコード(global_planner) #89

Closed sec-matsunaga closed 4 years ago

sec-matsunaga commented 4 years ago
  1. /home/devel/project/ws_navigation/src/navigation/global_planner/src/planner_core.cpp
    • 'max' がゼロ除算で使用されている可能性があります

★クロックワークコメント

sec-matsunaga commented 4 years ago

Klocworkの回答(#88 と同じものになります。)

【内容】 本件は、誤検知となります。

調査の結果、コンパイル中にDBL_EPSILONが次の値に置き換えられているようです: double(2.22044604925031308084726333618164062e-16L) Klocworkチェッカーはこの値を誤って評価し、その結果をNaN(Not a Number)として比較を行い IFステートメントをfalseとして判定し、ゼロによる除算が存在するELSEステートメントに移行する 結果となるようです

さらに、fabs()関数を使用する場合、同様の理由で、Klocworkチェッカーはすべての比較をFalseと 評価してDBZ.GENERALが検出されていたそうです。

本件は、ローグウェーブ社の開発に報告されて、修正対象のリストに入りました。 然し、対応時期に関しては未定のため、対応された版がリリースされる際に再度連絡とさせて いただきます。

r-kurose commented 4 years ago

ツールの問題であることが確認されたので閉じます。