yutotnh / spirit

モータードライバ用ライブラリ
https://yutotnh.github.io/spirit/
MIT License
2 stars 2 forks source link

Bug: set_range_value() と get_range_value() で引数 value_size の範囲チェックを行っていない #249

Closed yutotnh closed 1 year ago

yutotnh commented 1 year ago

バグの説明

下の関数では、返り値の型が uint32_t で32bit分の幅しか値は取れないのに、内部的に何ビットでも取得できるようになっている。

具体的には、 value_size の値が 32を超える場合にエラー出力させたい。

uint32_t get_range_value(const uint8_t* buffer, std::size_t buffer_size, std::size_t start, std::size_t value_size);

同様の問題が set_range_value() にもあります。

再現手順

  1. ...
  2. ...

期待した動作

環境

その他