Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Como consertar uma saturação de buffer
Um estouro de buffer , ou estouro de buffer , é um problema no qual um programa de computador escreve mais dados para um buffer do que foi alocado para esse buffer. Como resultado, os dados são gravados em uma porção adjacente da memória, sobrescrevendo outros dados. Isso pode fazer com que o programa para agir de forma irregular , podendo causar a queda. Ele também pode ser explorada para desencadear o funcionamento de um programa malicioso . Como tal, é sempre aconselhável para evitar estouros de buffer em um programa. Coisas que você precisa
código-fonte que contém o buffer overflow
compilador para a linguagem de que o código fonte
Show Mais instruções
1

Limite a sua procura . Você pode fazer isso através da impressão de informações de depuração e impedindo que partes do programa de execução. Estouros de buffer pode ser difícil de rastrear porque a evidência não é sempre consistente. No entanto, se a prova que você tem desaparece quando uma parte do programa é impedido de correr, é uma boa indicação de que o problema é com essa parte .
2

Leia o código fonte. Depois de ter suficientemente diminuído a sua pesquisa , olhar através do código-fonte para algo que poderia potencialmente causar um estouro. Às vezes é em um loop que escreve além do comprimento de uma matriz. Às vezes é uma concatenação de strings em uma string maior do que o buffer alocado para essa string.
3

corrigir a falha . Se o problema estava escrevendo passado dos limites de uma matriz , certifique-se o que causou que é executado corretamente, ou que a matriz está devidamente redimensionado conforme necessário. Certifique-se de todos os buffers de cordas são grandes o suficiente para segurar as cordas que venham a realizar .
4

tomar medidas preventivas . Utilizar as funções de verificação de limites , de modo a garantir que a memória nunca será substituído. Dinamicamente redimensionar arrays como necessário. Mantenha o controle cuidadoso de toda a memória potencial escreve para garantir que eles nunca escrever para a área errada de memória.

Anterior :

Próximo : No
  Os artigos relacionados
·Computer Engineering Design Projetos 
·Como importar códigos com SVN Xcode 3.2 
·Como implementar o TAD Pilha 
·Jogos 3D Creator Tutorial 
·Como escrever para arquivo binário um código de exemp…
·Base de SDK xCode Faltando 
·Como mesclar inteiros algoritmos originais 
·O que são ponteiros e como eles são usados ​​
·Como ver a pilha de chamadas em GDB 
·Como compilar CPP em MS -DOS 
  Artigos em destaque
·Como usar números negativos em C 
·Como compilar C + + arquivos de cabeçalho 
·Como usar Breadcrumbs em Masterpage 
·Ferramentas para encontrar um vazamento de memória 
·Como excluir um C + + Corrupt Heap 
·Programas em C + + que irá reverter a sentença 
·Como Alternar uma variável em C 
·Como encontrar o tamanho de uma matriz de char que tem …
·Como ler um arquivo linha de cada vez na C 
·Como obter uma data do sistema em C # 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados