-
Notifications
You must be signed in to change notification settings - Fork 168
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
バッファが空の状態で CNativeW::Clear を呼び出したときに落ちる不具合修正 #780
バッファが空の状態で CNativeW::Clear を呼び出したときに落ちる不具合修正 #780
Conversation
assertの書きっぷりを見る限り、バグでなく「仕様」だと思います。 つまり、サイズチェックなしに たぶんそれだと困るので、assert落ちしないように対策を入れる必要はあると思います。 assertの条件とif文の条件が違うのが気になりました。 |
別解です。 CNative::CNative( void )
: CMemory( NULL, 0 ) {} 原因はCMemoryの引数なしコンストラクタが最低限のメモリ確保をしないことなので、中間クラスのコンストラクタを引数ありにしてしまえば(=CNativeTが必ずメモリ付きで初期化されるようにすれば)解決すると思います。 |
こちらにしました。 |
引数無しで CMemory のコンストラクタが呼ばれると、m_nDataBufSize が 0 で 引数無しで CMemory のインスタンスが作成されて _SetRawLength が引数 に 0 が渡されて |
予定変更 引数無しで CMemory のコンストラクタが呼ばれた場合に、最低限のメモリ確保されるようにしました。 |
CMemory に対するテストを追加 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
問題ないと思います。
vs2017の4環境でビルドして問題なく、test1の28個のテストがOKになってるのを見ました。
何かあったら見つかった時点でまた改善していけばいいと考えています。
そうですよね。 追加された |
…ative-Clear バッファが空の状態で CNativeW::Clear を呼び出したときに落ちる不具合修正
sakura-editor#780 でのCNativeW の初期状態での仕様を取り消して、 sakura-editor#948 の不具合を修正する
バッファが空の状態で CNativeW::Clear を呼び出したときに落ちる不具合修正
(#777 によるデグレ)