ドメイン名が 127 文字を超えるとローカル COM オブジェクトでヒープ破損が発生する

この記事は、以前は次の ID で公開されていました: JP308320
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
COM (Component Object Model) オブジェクトを開発しているときに、メモリの割り当てをチェックするランタイム分析ツールを含むプログラムを実行すると、そのツールにより、LookupAccountNameW 関数に対する配列またはメモリ制限違反が報告されることがあります。

理論上は、コンピュータが 127 文字を超える名前のドメインのメンバである場合、ローカル サーバーで実行している COM オブジェクトで QueryInterface 関数を呼び出すと、メモリが上書きされる可能性があります。しかし、実際には、ドメイン名はグループ ポリシーが機能するために 64 UTF-8 バイトを超えてはならないため、この現象が発生する可能性はほとんどありません。関連情報については、この資料の「詳細」を参照してください。
原因
この問題は、認証されたサーバーのバインドが作成されている間の LRPC (Lightweight Remote Procedure call) 中に発生します。ユーザーのセキュリティ識別子 (SID) を特定するために LookupAccountName 関数が呼び出されますが、ドメイン名の長さに間違った値が与えられます。
状況
マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。

この問題を解決するためのモジュールは、Windows 2000 日本語版サービスパック 3 以降に含まれております。
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
260910 最新の Windows 2000 Service Pack の入手方法

詳細
ドメイン名の長さの制限に関連する情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
245809 Windows 2000 Supports Fully Qualified Domain Names up to 64 UTF-8 Bytes Long
245809[NT] W2K がサポートする完全修飾ドメイン名は UTF-8 で 64 バイトまで
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 308320 (最終更新日 2001-11-06) を基に作成したものです。

corruption
プロパティ

文書番号:308320 - 最終更新日: 02/24/2014 17:52:27 - リビジョン: 1.5

Microsoft Windows 2000 Professional, Microsoft Windows 2000 Service Pack 1, Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Server, Microsoft Windows 2000 Service Pack 1, Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Advanced Server

  • kbnosurvey kbarchive kbbug kbfix kbnetworking kbwin2000presp3fix kbwin2000sp3fix kbhotfixserver KB308320
フィードバック