SóProvas


ID
1782682
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2015
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em geral, um buffer overflow se caracteriza por permitir a sobrescrita de espaços de memória utilizados por um processo, o que pode ser realizado intencionalmente ou não. A esse respeito, julgue o item que se segue.

O seguinte trecho de código não é passível de um ataque buffer overflow.

#include <stdio.h>
#include <string.h>
void fun1(void)
{
char arg2[10];
gets(arg2);
printf("%s\n", arg2);
}
int main(void)
{
printf("Isso pode?\n");
fun1();
printf("Sim, pode...\n");
return 0;
}

Alternativas
Comentários
  • O código acima poderá sofrer um buffer overflow dependendo da quantidade de caracteres que for obtida na função gets(arg2). Caso seja algo maior que 10, teremos um estouro do buffer.

     

    Gabarito: errado

    Fonte: http://mtm.ufsc.br/~azeredo/cursoC/aulas/c930.html

  • Gabarito Errado

    gets(arg2) pode gerar grande quantidade de caractetres, assim levando a causar um estouro do buffer.

     

    Vamos na fé !

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !