問題タブ [sal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
66 参照

c - SAL を使用している場合、NULL チェックと境界チェックを削除できますか?

SALはどこまで頼れる?する必要がありますか

または私はただすることができます

0 投票する
1 に答える
2270 参照

c++ - この typedef は LPWSTR を含むことを意味しますか?

プロジェクトを gcc に移植するための LPWSTR の代わりを見つけようとしています。

null 終端とは何ですか? 私がこのようなことをした場合、それは安全でしょうか:

0 投票する
1 に答える
535 参照

c++ - コードから SAL 注釈を削除しても安全ですか?

Visual Studio から Mingw gcc にいくつかのコードを移植しています。そのコードには、次のような多くの注釈があることに気付きました

使用されています。SAL注釈について話しているこのスレッドに出くわしました。

私の質問は、コードからいくつかの SAL 注釈を削除するかどうかです。悪影響はありますか?コードはまだ機能しますか?

0 投票する
1 に答える
96 参照

c++ - コード分​​析が _In_opt_ パラメータを理解できない 注釈?

SALバグのようです。コード:

そしてコード分析は私にC6102を与えます-失敗した関数呼び出しからの変数の使用

行でTraceProtectedFile(curFile); ただし、TraceProtectedFile にはプロトタイプがあります

_In_opt_ 意味"_In_opt_ is the same as _In_, except that the input parameter is allowed to be NULL and, therefore, the function should check for this.".. CA がそのような単純なことを処理できない場合、それができることを理解しないでください :(

0 投票する
0 に答える
969 参照

c - Visual Studio 2015 string.h の一貫性のない注釈

Visual Studio 2015 を使用しており、最新の SDK もインストール (および再インストール) しました。新しいプロジェクトを開始して警告レベルを設定し、「警告をエラーとして扱う」も設定し、ビルド時に静的コード分析を実行するように設定しました。次のコードを含む単純な main.c は、いくつかの興味深い SAL 注釈警告を出力します。

コード:

エラー出力:

補足事項:

  • これはリリースビルドでのみ発生することがわかりました(デバッグでは問題なく動作します)
  • また、ソースが .c の場合にのみ発生します ( .cpp を使用したリリース/デバッグの両方で正常に動作します)

これまでに試した解決策:

  • Visual Studio 2015 + SDK の再インストール
  • string.h ヘッダー内で #pragma warning(suppress:28253) しようとしましたが、そのヘッダーを変更できません

いくつかのバグ送信/チケットで、最新の SDK で修正されたと言ったマイクロソフトの男を見つけました。また、vs2015 コミュニティのダウンロード ページへのリンクを投稿しました (これを再ダウンロードして再インストールしました)。働くこと(少なくとも私にとっては

今のところ、「警告をエラーとして扱う」なしでプロジェクトを続行する予定ですが、小さなハック/回避策のないエレガントなソリューションを誰かが提供してくれれば幸いです。

前もってありがとう、乾杯!

更新 1 一時的な解決策: