Informática, perguntado por pouddjlj, 9 meses atrás

o que é saturação de um buffer?
recebi essa mensagem ao reiniciar meu windows.
erro
o sistema detectou a saturação de um buffer baseado em pilha neste aplicativo. é possivel que essa saturação permita que um usuário mal intensionado obtenha controle do aplicativo.
isso seria um virus ou erro? oq faço?

Soluções para a tarefa

Respondido por vanessafonntoura
5

A saturação do buffer acontece quandoexistem derrapagens de limites que se conectam aos limites do buffer e, portanto, adicionam a sobrescrever a memória, o que acarreta na perda de dados e consequentemente no desempenho mais lerdo da máquina.  

Para resolver essa situação existem uma infinidade de métodos. Entre eles a atuaização de arquivos presentes no Windows, assim como a habilitação do  Data Execution Preventio já que este é um dos aspectos essenciais para a defesa do buffer.

Espero ter ajudado.

Respondido por Usuário anônimo
1

Para entendermos este conceito, vamos entender um pouco mais como lidamos com memória no computador.

Sempre que estamos a ponto de utilizar um variavel para um programa, este reserva um certa quantida de memória em disco para que seu programa possa utilizar.

Se você conehcer programação em C/C#/C++ deve estar acostumado a lidar com estas reservas manualmente pelo cabeçalho, onde você fornece o tipo da variavel que por si só consta por padrão uma certa quantidade de memória, mas mesmo outras linguagens de mais alto nível fazem isto, porém de forma automatica.

O problema da saturação de buffer acontece quando para esta variavel que reservamos um espaço na memoria, mandamos que ela anexe um valor a esta em uma coordenada que não pertence a ela, vamos exemplificar para ficar mais simples:

Você cria um array de tamanho 10 array[10], porém em determinado momento você passa um valor para o seu array na coordenada 10, pois você se esqueceu que um array vai de 0 até o inteiro anterior do tamanho, dele, que neste caso vai até 9.

Assim seu array não possui esta coordenada 10, mas ele vai colocar o valor que você atribuiu da mesma forma, porém não no seu array, ele vai procurar o exato proximo objeto que estiver na sua memória RAM e vai colocar o seu valor atribuído ali, independente do que seja este objeto que estava ali antes.

Fica claro neste caso que isto pode causar diversmos problemas no sistema dependendo do que havia na memória antes de você sobrescrever este objeto.

Para mais questões sobre memória, recomendo checar:

https://brainly.com.br/tarefa/25004331

https://brainly.com.br/tarefa/31816559

Anexos:
Perguntas interessantes