Why does it NOT give a segmentation violation?

Posted by user198729 on Stack Overflow See other posts from Stack Overflow or by user198729
Published on 2010-03-30T03:12:28Z Indexed on 2010/03/30 3:23 UTC
Read the original article Hit count: 278

Filed under:
|
|

The code below is said to give a segmentation violation:

#include <stdio.h> 
#include <string.h> 

void function(char *str) {
   char buffer[16];

   strcpy(buffer,str);
}

int main() {
  char large_string[256];
  int i;

  for( i = 0; i < 255; i++)
    large_string[i] = 'A';

  function(large_string);
  return 1;
}

It's compiled and run like this:

gcc -Wall -Wextra hw.cpp && a.exe

But there is nothing output.

NOTE

The above code indeed overwrites the ret address and so on if you really understand what's going underneath.

© Stack Overflow or respective owner

Related posts about c++

Related posts about segmentation-fault