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

Traductions disponibles Traductions disponibles
Numéro d'article: 305601 - Voir les produits auxquels s'applique cet article
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.
Agrandir tout | Réduire tout

Sommaire

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 :

Réduire ce tableauAgrandir ce tableau
Date Heure Version Taille Nom Plate-forme Langue
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 CHS
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 CHS
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 CHT
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 CHT
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 DEU
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 DEU
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 ENU
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 ENU
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 ESN
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 ESN
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 FRA
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 FRA
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 ITA
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 ITA
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 JPN
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 JPN
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 KOR
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 KOR
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 NLD
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 NLD
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 PTB
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 PTB
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1803) 322 560 msvcrt.dll x86 SVE
05-oct-2001 07:54 7.0.2600.15 (xpclnt_qfe.010827-1804) 942 592 msvcrt.dll IA64 SVE
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 CHS
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 CHS
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 CHT
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 CHT
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 DEU
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 DEU
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 ENU
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 ENU
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 ESN
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 ESN
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 FRA
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 FRA
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 ITA
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 ITA
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 JPN
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 JPN
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 KOR
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 KOR
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 NLD
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 NLD
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 PTB
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 PTB
05-oct-2001 07:54 aucune 353 280 msvcrt.pdb x86 SVE
05-oct-2001 07:54 aucune 453 632 msvcrt.pdb IA64 SVE

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

Numéro d'article: 305601 - Dernière mise à jour: lundi 24 février 2014 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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
Mots-clés : 
kbnosurvey kbarchive kbqfe kbhotfixserver kbbug kbfix KB305601
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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