KORRIGERING: Visual C++ 2013 kan inte upptäcka buffertöverskridningar eller avge C4789-varningar

Gäller för
Visual Studio Community 2013 Visual Studio 2013 SDK

Symptom

Enligt MSDN-biblioteket, när du kompilerar C- eller C++-källkod med hjälp av Visual C++ 2013 C/C++-kompilatorn, bör Visual C++ 2013 upptäcka vissa scenarier för buffertöverskridning (naturligtvis bara de som kan upptäckas vid kompileringstillfället) och avge varning C4789.

Vissa buffertöverskridningar fångas dock inte upp med alla optimeringsinställningar i Visual C++ 2013, även om du har installerat Visual Studio 2013 Update 5. Ingen varning C4789 avges där den äldre versionen Visual C++ 2010 har genererat varningen C4789.

När du har installerat den här snabbkorrigeringen kan Visual C++ 2013 upptäcka buffertspill och avge varningen C4789 för versionskonfigurationsbyggen (om /Od inte används).

Orsak

Det här problemet uppstår på grund av ett problem i Visual Studio 2013 C/C++-kompilatorn.

Lösning

Information om snabbkorrigeringar

Följande fil kan hämtas från Microsoft Download Center:
Ladda ned Ladda ned snabbkorrigeringspaketet nu.

 Om du vill veta mer om hur du hämtar Microsoft-supportfiler klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

119591 Hur du hämtar Microsoft-supportfiler från onlinetjänster Microsoft har sökt igenom den här filen efter virus. Microsoft använde den senaste programvaran för virusdetektering som var tillgänglig det datum då filen publicerades. Filen lagras på säkerhetsförbättrade servrar som hjälper till att förhindra obehöriga ändringar i filen.

Krav

För att kunna installera den här snabbkorrigeringen måste du ha Visual Studio 2013 installerat.

Registerinformation

Du behöver inte göra några ändringar i registret för att kunna använda snabbkorrigeringen i det här paketet.

Krav på omstart

Du behöver inte starta om datorn efter att du har installerat snabbkorrigeringen.

Ersättningsinformation för snabbkorrigeringar

Den här snabbkorrigeringen ersätter inte någon tidigare snabbkorrigering.

Lösning

Du kan komma runt det här problemet genom att använda /Oi-kompilatorväxeln eller kodanalys för att identifiera fler förekomster av buffertspill vid kompileringen.

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".