Je reçois une violation d'accès à strncpy dans le code ci-dessous.crash de l'application à strncpy dans VS2008
if(WaitForSingleObject(RdStatShared.hMutex, INFINITE) == WAIT_OBJECT_0)
{
if(RdStatShared.Resp.itemLength != NULL)
{
strncpy((char*)TData[53], (char*)RdStatShared.Resp.itemLength, (size_t)0x01);
}
ReleaseMutex(RdStatShared.hMutex);
}
RdStatShared est un objet partagé utilisé dans le projet. Comme il est mis à jour aléatoirement, j'ai voulu verrouiller l'objet avant de le lire. TData est un type BYTE de longueur 1024 et itemLength est un UCHAR. Pendant le code de débogage, dans le code de l'assembly, je vois que la violation d'accès a échoué lors de la copie de la chaîne source dans un tampon temporaire. Quelqu'un peut-il dire pourquoi la violation d'accès s'est produite à strncpy?
Merci pour toute information utile.
Lakshmi.
itemLength est vraiment un UCHAR? pas UCHAR *? Si oui, je crois que c'est le problème ... –