OSDN Git Service

[Fix] chest_traps 配列外アクセス
authorHabu <habu1010+github@gmail.com>
Mon, 13 Jun 2022 11:13:44 +0000 (20:13 +0900)
committerHabu <habu1010+github@gmail.com>
Mon, 13 Jun 2022 11:13:44 +0000 (20:13 +0900)
commit5b4c96392f712c7756dd0316db9c17eea404d282
treeb4aa5bee2f6ebc82cf631ca87aaa2c0f551d8cb0
parent10a4a441534310302efdfa2ec5ed093c8bc089a7
[Fix] chest_traps 配列外アクセス

箱にしかけられたトラップの種類は chest_traps 配列に定義されており、どのトラップが仕
掛けられているかは ObjectType::pval にこの配列の要素番号を格納することで決定している。
しかし、トラップを解除した時解除済みのマークとしてこの pval の符号を逆転して負にする
仕様となっている。
これを考慮せずそのまま配列にアクセスしてしまい、結果として負の値の要素にアクセスして
しまっている。
chest_traps 配列にアクセスする時は pval が確実に正の値であることをチェックするように
修正する。
src/action/open-util.cpp
src/player/player-move.cpp