Objawy
Zgodnie z biblioteki MSDN podczas kompilowania C lub C++ kodu źródłowego za pomocą kompilatora Visual C++ 2013 C/C++, Visual C++ 2013 powinien wykryć niektórych bufor przekroczenie scenariuszy (gdzie oczywiście tylko te, które mogą zostać wykryte w czasie kompilacji) i emitować Ostrzeżenie C4789. Jednak niektóre przepełnienia bufora, nie są objęte ze wszystkimi ustawieniami optymalizacji Visual C++ 2013, nawet jeśli zainstalowano program Visual Studio 2013 Update 5. Brak ostrzeżenia C4789 jest emitowane, gdzie starszej wersji programu Visual C++ 2010 pomyślnie emitowane ostrzeżenie C4789. Uwaga Po zainstalowaniu tej poprawki, Visual C++ 2013 można wykryć przepełnienia buforu i emitować ostrzeżenia C4789 dla wersji konfiguracji kompilacji (w przypadku, gdy wszystkie podklucze i wartości nie jest używany).
Przyczyna
Ten problem występuje z powodu błędu kompilatora Visual Studio 2013 C/C++.
Rozwiązanie
Informacje o poprawce
Następujący plik jest dostępny do pobrania z witryny Centrum pobierania firmy Microsoft:Pobierz teraz pakiet poprawek. Aby uzyskać więcej informacji dotyczących sposobu pobierania plików pomocy technicznej firmy Microsoft, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
119591 jak uzyskać pliki pomocy technicznej Microsoft w usługach onlineFirma Microsoft przeskanowała plik w poszukiwaniu wirusów. Firma Microsoft użyła najnowszego oprogramowania do wykrywania wirusów, które było dostępne w dniu opublikowania pliku. Plik jest przechowywany na serwerach o podwyższonych zabezpieczeniach, które uniemożliwiają nieautoryzowane zmiany w pliku.
Wymagania wstępne
Aby zastosować tę poprawkę, musi mieć zainstalowany program Visual Studio 2013.
Informacje dotyczące rejestru
Aby użyć poprawki w tym pakiecie, nie trzeba wprowadzać żadnych zmian w rejestrze.
Wymagania dotyczące ponownego uruchomienia
Nie musisz ponownie uruchomić komputer po zastosowaniu tej poprawki.
Informacje dotyczące zastępowania poprawek
Ta poprawka nie zastępuje wcześniej wydanej poprawki.
Obejście problemu
Aby obejść ten problem, należy użyć /oi/oi przełącznik lub analizy kodu do wykrywania więcej wystąpień przekroczenia buforu w czasie kompilacji.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.