Close

Questo sito utlizza cookie per offrirti un'esperienza di navigazione migliore. Usando il nostro servizio accetti l'impiego di cookie in accordo con la nostra cookie policy Puo' leggere come li usiamo nella nostra Privacy Policy.

We use cookies to provide you with the best possible experience on our website. By clicking "Close" or continuing to use our site, you acknowledge that you accept our Privacy Policy.

Single buffer overflow/underflow
int x[10];
x[10] = 5;  ->  Error!!
x[-4] = 3;  ->  Error!!
Single Buffer Overflow [PDF]

Multiple buffer overflow/underflow
int y[10][10][10];
y[10][3][4] = 5;  ->  Error!!
y[3][10][7] = 11;  ->  Error!!
y[3][2][10] = 8;  ->  Error!!
y[-3][6][4] = 5;  ->  Error!!
y[3][-4][9] = 12;  ->  Error!!
and so on...
See Video

Struct test
typedef struct test_s {
char a[10];
char b[10];
char c[10][5];
} TEST;
...
TEST test;
test.a[-1] = 3;  ->  Error!!
test.a[10] = 6;  ->  Error!!
test.b[-2] = 7;  ->  Error!!
test.b[11] = 4;  ->  Error!!
test.c[-2][3] = 7;  ->  Error!!
test.c[10][2] = 4;  ->  Error!!
test.c[0][19] = 4;  ->  Error!!
test.c[8][-1] = 4;  ->  Error!!
and so on...

Null Pointer and pointer test
int *p;
int **pp;
TEST test;
TEST *ptest;
...
p = NULL;
*p = 1;  ->  Error!!
pp = &p;
**pp = 1;  ->  Error!!
ptest = &test;
ptest->c[0][19] = 4;  ->  Error!!
ptest->c[8][-1] = 1;  ->  Error!!
ptest = NULL;
ptest->c[8][0] = 1;  ->  Error!!
and so on...