Uso de LA API prohibida: '*function-name' no es seguro y se ha marcado como en desuso.
Esta advertencia indica que se está usando una función que se ha prohibido y tiene un reemplazo más sólido o seguro. Este error específico indica que la función prohibida puede desbordar un búfer.
Comentarios
Una lista de todas las funciones prohibidas cubiertas por este error, por qué están prohibidas y los reemplazos recomendados se pueden encontrar después del ejemplo siguiente.
Nombre del análisis de código: BANNED_API_USAGEL2
Ejemplo
El código siguiente genera esta advertencia:
C++
voidexample_func(){
char user_input[10];
scanf(“%s”, input); // scanf is banned for security purposes
}
Esto se debe al uso de la función scanfunsafe . scanf coloca cualquier límite en el tamaño de los datos copiados en el búfer. Para corregir este problema, podemos usar scanf_s, el reemplazo más seguro de esta función. scanf_s requiere que el desarrollador especifique cuántos bytes se van a copiar. scanf_s garantizará que solo se copien muchos bytes. Por ejemplo, el código siguiente es más seguro:
C++
voidexample_func(){
char user_input[10];
scanf_s(“%9s”, input, sizeof(input)); // 9 bytes leaves room for the \0 byte at the end
}
Funciones prohibidas
NOTA: Esta lista se está actualizando y mejorando activamente
Escribe datos con formato en la cadena especificada. El tamaño del búfer de destino se proporciona a la función para asegurarse de que no escribe más allá del final de este búfer. (StringCchPrintf_lA)