作業中のプロジェクトでコード分析を実行したところ、このメッセージが表示されました。
警告17CA2122:Microsoft.Security:'Quantizer.Quantize(Image)'は、LinkDemandを持つ' Bitmap.LockBits(Rectangle、ImageLockMode、PixelFormat)'を呼び出します。この呼び出しを行うことにより、「Bitmap.LockBits(Rectangle、ImageLockMode、PixelFormat)」は間接的にユーザーコードに公開されます。セキュリティ保護を回避する方法を公開する可能性のある次の呼び出しスタックを確認します
。->'Quantizer.Quantize(Image)'->'Quantizer.Quantize(Image)'->'ImageFactory.SaveFileAndReset(string)'->'ImageFactory。 Save(string) '
private void SaveFileAndReset(string path)
{
// Fix the colour palette of gif images.
if (this.imageFormat == ImageFormat.Gif)
{
OctreeQuantizer quantizer = new OctreeQuantizer(255, 8);
this.Image = quantizer.Quantize(this.Image);
}
/// etc....
私がMSDNで見つけた情報は非常に簡潔で、特に意味のあるものを抽出することはできませんでした。オンラインで見つけたほとんどの回答は、フラグを付けて警告を表示することを示唆しているだけです。私がそうしても安全だと確信してください。
誰かがこれが実際に何を意味するのか、そして警告を引き起こしているセキュリティ問題を修正する方法を説明してもらえますか?