-
Notifications
You must be signed in to change notification settings - Fork 163
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
_wcsdupでdeleteしてる #1236
Comments
基本的に根っこはこの2つでしょうか。
ご本人に降臨頂いて繰り返さないように学習してもらいたいところです。 |
これは宗教ですぜ?w MSVCの実装だとnew/deleteとmalloc/freeは同じなので気にしなくていいと思います。 とはいえ、確保と解放のペアが不一致なのはキモいので対応することは否定しない感じです。 |
お、保守が面倒なmingwビルドを捨てる事を許容するかのごとくなコメントが! |
いや、破棄する意図はないです。 mingwのcrtはmsvcrtを流用してるのでGucci |
実装に依存して実装するのか、インターフェース仕様に基づいて実装するかだと思います。 実装に依存していると、違うコンパイラ使ったり、内部実装が変わった時に動かなくなったり、意図しない動作をしたりするのでよろしくないです。 私がよく、関数にコメント書いて、というのは、関数の仕様を明確にしたいからです。 |
https://docs.microsoft.com/ja-jp/cpp/cpp/delete-operator-cpp?view=vs-2019
今のバージョンではたまたま動いているだけであって、鼻から悪魔が出ても文句は言えません。 |
iPhoneの単語補完/単語補正の機能は、たまにマジ困る・・・。 |
#1236 (comment) はそのままにしときます。 オイラがアフォでも、適切な指摘で訂正してくれる人がいれば、全体として問題はないわけで、安心してアフォで居られるということなので。 |
よく見たら #1239 がマージされて、ここで指摘された 結論は、いまは問題なくても仕様的にマズい(根拠あり)で、適切に対応( |
問題内容
_wcsdup()ではfree()を使うべきはずなのに、メモリー削除にdelete [] を使用している。
実害等あるかは分かりませんが、正常な状態とは思いません。
欲を言うなら、可能な場所(Command_MENU_RBUTTON)では、_wcsdup()よりもstd::wstring/unique_ptr<WCHAR>などを受け皿にして、手動でメモリーを管理するのをやめたほうがいいと思います。
sakura/sakura_core/cmd/CViewCommander_CustMenu.cpp
Line 52 in 948ce7e
sakura/sakura_core/typeprop/CPropTypesScreen.cpp
Line 804 in 948ce7e
sakura/sakura_core/typeprop/CPropTypesScreen.cpp
Line 829 in 948ce7e
sakura/sakura_core/view/CEditView_Mouse.cpp
Line 1534 in 948ce7e
sakura/sakura_core/view/CEditView_Mouse.cpp
Line 1593 in 948ce7e
再現手順
(ソースコード閲覧)
該当部分を実行してメモリーリーク検出ツールなどを使うと、何か起こる可能性はあります。
再現頻度
100%
問題のカテゴリ
環境情報
無関係(ソースコード上の問題)
2.4.0.0
The text was updated successfully, but these errors were encountered: