Within the function HandleFileArg the argument filepattern is under control of the user who passes it in from the command line. filepattern is passed directly to strlen to determine the ending location of the char* passed in by the user, no checks are done to see if the passed in char* is longer than the staticly sized buffer data is memcpy‘d into, but after the memcpy a null byte is written to what is assumed to be the end of the buffer to terminate the char*, but without length checks, this null write occurs at an arbitrary offset from the buffer. An attacker can provide malicious input to trigger this vulnerability.
Dentro de la función HandleFileArg el argumento filepattern está bajo el control del usuario que lo pasa desde la línea de comandos. filepattern es pasado directamente a strlen para determinar la ubicación final del char* pasado por el usuario, no se hace ninguna comprobación para ver si el char* pasado es más largo que el buffer de tamaño estático en el que se memcpy los datos, pero después de la memcpy se escribe un byte nulo en lo que se supone que es el final del buffer para terminar el char*, pero sin comprobaciones de longitud, esta escritura null ocurre en un desplazamiento arbitrario del buffer. Un atacante puede proporcionar una entrada maliciosa para desencadenar esta vulnerabilidad.