CORRECTIF : _vsnwprintf & _snprintf peut prendre en charge la mémoire tampon

Le support de Windows XP a pris fin

Microsoft a mis fin au support de Windows XP le 8 avril 2014. Cette modification a affecté vos mises à jour logicielles et options de sécurité. Découvrez les implications de ce changement à votre niveau et la marche à suivre pour rester protégé.

Ancien nº de publication de cet article : F305601
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Symptômes
_vsnwprintf et _snprintf peuvent être à l'origine d'une violation d'accès ou d'un endommagement de la pile en raison de la prise en charge de la mémoire tampon.
Cause
Toute forme de conversion d'un entier ou d'une virgule flottante dans un format de style printf utilise une mémoire tampon interne dans function _output() pour convertir le nombre en une chaîne. Cette mémoire tampon interne se compose de 512 caractères. Si la précision fournie par l'utilisateur dépasse 512, la conversion écrira au-delà des limites de cette mémoire tampon.
Résolution
Un correctif pris en charge permettant de résoudre ce problème est désormais disponible auprès de Microsoft. Toutefois, n'ayant pas subi tous les tests de régression, il ne doit être appliqué qu'aux systèmes rencontrant ce problème spécifique.

Pour résoudre ce problème immédiatement, téléchargez le correctif à partir du Web.

Tous les correctifs d'urgence mentionnés ci-dessous requièrent le redémarrage de l'ordinateur après l'installation.

La version Visual C++ 6.0 de ce correctif est disponible à l'adresse http://msdn.microsoft.com/vstudio/downloads/cruntimefix.asp et doit disposer des attributs de fichier suivants ou ultérieurs :


La version Windows XP de ce correctif doit disposer des attributs de fichier suivants ou ultérieurs :

DateHeureVersionTailleNomPlate-formeLangue
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86CHS
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64CHS
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86CHT
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64CHT
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86DEU
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64DEU
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86ENU
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64ENU
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86ESN
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64ESN
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86FRA
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64FRA
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86ITA
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64ITA
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86JPN
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64JPN
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86KOR
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64KOR
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86NLD
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64NLD
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86PTB
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64PTB
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1803)322 560msvcrt.dllx86SVE
05-oct-200107:547.0.2600.15 (xpclnt_qfe.010827-1804)942 592msvcrt.dllIA64SVE
05-oct-200107:54aucune353 280msvcrt.pdbx86CHS
05-oct-200107:54aucune453 632msvcrt.pdbIA64CHS
05-oct-200107:54aucune353 280msvcrt.pdbx86CHT
05-oct-200107:54aucune453 632msvcrt.pdbIA64CHT
05-oct-200107:54aucune353 280msvcrt.pdbx86DEU
05-oct-200107:54aucune453 632msvcrt.pdbIA64DEU
05-oct-200107:54aucune353 280msvcrt.pdbx86ENU
05-oct-200107:54aucune453 632msvcrt.pdbIA64ENU
05-oct-200107:54aucune353 280msvcrt.pdbx86ESN
05-oct-200107:54aucune453 632msvcrt.pdbIA64ESN
05-oct-200107:54aucune353 280msvcrt.pdbx86FRA
05-oct-200107:54aucune453 632msvcrt.pdbIA64FRA
05-oct-200107:54aucune353 280msvcrt.pdbx86ITA
05-oct-200107:54aucune453 632msvcrt.pdbIA64ITA
05-oct-200107:54aucune353 280msvcrt.pdbx86JPN
05-oct-200107:54aucune453 632msvcrt.pdbIA64JPN
05-oct-200107:54aucune353 280msvcrt.pdbx86KOR
05-oct-200107:54aucune453 632msvcrt.pdbIA64KOR
05-oct-200107:54aucune353 280msvcrt.pdbx86NLD
05-oct-200107:54aucune453 632msvcrt.pdbIA64NLD
05-oct-200107:54aucune353 280msvcrt.pdbx86PTB
05-oct-200107:54aucune453 632msvcrt.pdbIA64PTB
05-oct-200107:54aucune353 280msvcrt.pdbx86SVE
05-oct-200107:54aucune453 632msvcrt.pdbIA64SVE

Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "Liste des produits concernés par cet article".
Plus d'informations

Procédure pour reproduire le comportement



void func(void){    char buffer[10];    _snprintf(buffer, 10, "%.1024x", 1);}
Propriétés

ID d'article : 305601 - Dernière mise à jour : 02/24/2014 00:53:40 - Révision : 3.2

  • Microsoft Visual C++ 6.1
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professionel
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows XP Professionnel
  • Microsoft Windows XP Édition familiale
  • kbnosurvey kbarchive kbqfe kbhotfixserver kbbug kbfix KB305601
Commentaires