title: Malloc allocates memory more than RAM
body: <p>I just executed a program that mallocs 13 MB in a 12 MB machine (QEMU Emulated!)  . Not just that, i even browsed through the memory and filled junk in it...  </p>
  
  <pre><code>void 
  large_mem(void) 
  {
    #define LONGMEM  13631488
    long long *ptr = (long long *)malloc(LONGMEM);
    long long i;
    if(!ptr) {
       printf("%s(): array allocation of size %lld failed.\n",__func__,LONGMEM);
       ASSERT(0);
    }
    for(i = 0 ; i &lt; LONGMEM ; i++ ) { 
      *(ptr+i)=i;
    }
    free(ptr);
  }
  </code></pre>
  
  <p>How is it possible ? I was expecting a segmentation fault.</p>