Dertin Blog

Sobre Ciencia, Tecnología, Programación y sobre la Vida Misma.

Ejemplos de “Overflow”

Publicado por Dertin en Diciembre 23, 2008

Unos códigos muy sencillos para que vean el overflow en dos ejemplos, espero que sean útiles :D ,
overflow:  “Desbordamiento de la capacidad de una variable en un programa o de un fichero”.

1]
#include <iostream>

int main()
{

using std::cout;
using std::endl;

unsigned int resultado;
unsigned int mayor = 100;
unsigned int menor = 50;

resultado = mayor – menor;
cout << “resultado es: “ << resultado;
resultado = menor – mayor;
cout << “\n Ahora resultado es: “ << resultado << endl;
return 0;
}

Bueno aquí otro ejemplo pero sacado de Internet es más complejo.

2]
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char *buffer1 = (char *)calloc(5, sizeof(char));
char *buffer2 = (char *)calloc(15, sizeof(char));
char *tmp;

strcpy(buffer2, “ls -a –color”);
strcpy(buffer1, argv[1]);

// Indirizzi di memoria…
printf(“%p <– buffer1\n”, buffer1);
printf(“%p <– buffer2\n”, buffer2);
printf(“\n\n”);

// Stampa indirizzi…
printf(“Start code….\n”);
tmp=buffer1;
while(tmp<buffer2+15)
{
printf(“%p: %c (0x%x)\n”, tmp, *tmp, *(unsigned int *)tmp);
tmp++;
}

printf(“\n”);
system(buffer2);
return 0;
}

Si tienes otro ejemplo que mostrar, deja un comentario aquí, Gracias…

Saludos, Dertin.

Escribe un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>