Traté de buscar en el sitio para esta pregunta, pero no encontramos que esto exactamente, aunque este tema se está discutiendo mucho ...¿Cuándo se inicializan las variables de const estático globales?
que tienen esta declaración en un archivo CPP, no dentro de cualquier función:
static const char* gText = "xxxxxxxxxxx";
pesar de que tiene un tamaño fijo, recibo una advertencia de una herramienta de análisis estático (Klocwork) cuando estoy tratando de copiarlo en otra variable char * - por la posible fuera de los límites violación:
char xText[32];
SecureZeroMemory(xText, 32);
memcpy(xText, gText, strlen(gText));
Es un falso postulado ¿o se está inicializando la variable global más tarde?
Gracias!
¿Cuál es la línea exacta a la que se está refiriendo KLOCWORKS? – ckv
memcpy() uno. – IUnknownPointer
Por cierto, el puntero en sí no es const, por lo tanto, podría cambiarse para apuntar a otra cadena más larga – sellibitze