-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CPPA::stdErrorの処理が不正っぽい #1722
Comments
総評指摘内容は正しいと思いますが、周辺課題が多いので放置してました。
|
sakura/sakura_core/macro/CPPA.cpp Lines 367 to 371 in 2deb791
|
逆ですね・・・
先にマクロコマンド 320件 から機能IDを探し、 if 文の記述が誤っていることによる効果は、以下です。
|
テストコードを書いてみたところ、 コメント修正しときます・・・。 テストコードの追加と |
問題内容
CPPA.cppのコードを眺めていたところ、バグっぽいコードを見つけたので報告だけしておきます。
■1つめ
sakura/sakura_core/macro/CPPA.cpp
Line 353 in 2deb791
このifは前のループでヒットしなかった場合なので、
m_MacroFuncInfoCommandArr[i] == -1
ではないでしょうか。現状では処理対象が間違っている上、iが範囲外アクセスになる可能性がありそうです。
■2つめ
sakura/sakura_core/macro/CPPA.cpp
Line 381 in 2deb791
ppa.dllが細工された、または特殊なもの(自作言語のマクロDLLとか)だったりした場合に、Err_Mesが約2000文字以上を返してくると、szMesがバッファオーバーフローする危険があります。
再現手順
再現頻度
問題のカテゴリ
The text was updated successfully, but these errors were encountered: