傳遞無效的螢幕大小參數的程式會造成存取違規

文章翻譯 文章翻譯
文章編號: 311486 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

徵狀

在本篇文章開頭所列的 Windows 版本都含有下列弱點: 當您執行將會比螢幕大小較小的無效參數傳遞的本機程式時,這樣會造成存取違規 (AV)。如此一來 Windows 會停止回應 (當機)。

範例程式碼

下列未編譯的範例程式碼已知會造成這種行為:
#include <stdio.h>

int main(void)
{
while(1)
printf("\t\t\b\b\b\b\b\b");
return 0;
}
				

發生的原因

Windows 會檢查無效的參數大於螢幕的大小,但目前不會檢查 較小 比螢幕大小的無效參數,就會發生這個問題。

解決方案

Windows XP

如果要解決這個問題,取得最新的 Service Pack 的 Windows XP。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
322389如何取得最新的 Windows XP Service Pack

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果本節 Does Not Appear 請連絡[ Microsoft 客戶服務 ] 和 [ 支援 ] 以取得此 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

檔案資訊

此修正程式的英文版本應該具有下列檔案屬性或更新版本:
   Date         Time   Version      Size     File name
   ----------------------------------------------------
   02-Nov-2001  21:43  5.1.2600.19  272,384  Winsrv.dll
   02-Nov-2001  21:43  5.1.2600.19  272,384  Winsrv.dll
				

Windows 2000

如果要解決這個問題,取得最新的 Service Pack 為 Windows 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
260910如何取得最新的 Windows 2000 Service Pack

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果沒有出現此區段,將要求提交到 Microsoft 客戶服務及支援],以取得該 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

檔案資訊

此修正程式的英文版本應該具有下列檔案屬性或更新版本:
   Date         Time   Version        Size       File name
   ----------------------------------------------------------
   05-Nov-2001  18:57  5.0.2195.4572    222,480  Gdi32.dll
   05-Nov-2001  18:57  5.0.2195.4272    731,920  Kernel32.dll
   25-Jun-2001  18:17  3.10.0.103        47,808  User.exe
   05-Nov-2001  18:57  5.0.2195.4314    402,192  User32.dll
   05-Nov-2001  18:57  5.0.2195.4345    371,984  Userenv.dll
   27-Sep-2001  15:00  5.0.2195.4426  1,731,536  Win32k.sys
   30-Oct-2001  18:17  5.0.2195.4575    178,960  Winlogon.exe
   05-Nov-2001  18:58  5.0.2195.4553    243,472  Winsrv.dll
   05-Nov-2001  18:58  5.0.2195.4272    731,920  Kernel32.dll
   05-Nov-2001  18:58  5.0.2195.4426  1,731,536  Win32k.sys
   05-Nov-2001  18:58  5.0.2195.4553    243,472  Winsrv.dll
				

狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。這個問題,首先已經在 Microsoft Windows 2000 Service Pack 3 (SP3) 和 Microsoft Windows XP Service Pack 1 (SP1) 中獲得修正。

其他相關資訊

這個更新會造成 Windows 檢查較低的界限。Winsrv.dll 檔案直接受到這個更新,但因為的相依性問題會包含下列檔案:
User.exe
User32.dll
Win32k.sys
Gdi32.dll
Userenv.dll
Kernel32.dll
Winlogon.exe

屬性

文章編號: 311486 - 上次校閱: 2014年2月24日 - 版次: 2.5
這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional
關鍵字:?
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbbug kbfix kbsecurity kbshell kbwin2000presp3fix kbwin2000sp3fix kbwinxpsp1fix KB311486 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:311486
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com