在fedora上系统调用内存分配的有关问题

在fedora上系统调用内存分配的问题
[size=18px]在fedora上,系统调用malloc 内存分配,
1、访问分配的内存范围尾部后面的地址区域
2、 对内存释放的指针赋值
这两个 应该是会产生内存越界访问错误 
但是实际,均未报错,执行成功!

代码如下:
1:
#define MAX_LEN 1024
char *char_1 = (char*)malloc(sizeof(char)*MAX_LEN);
char_1 += MAX_LEN;
while(MAX_LEN--)
{
*char_1 = '\0';
char_1++;
}

2:
#define MAX_LEN 1024
char *char_2 = (char*)malloc(sizeof(char)*MAX_LEN);
free(char_2);
while(MAX_LEN--)
{
*char_2 = '\0';
char_2++;
}

[/size]
------解决思路----------------------
内存越界访问错误,未必会马上导致问题,特别是这种小程序。如果是大系统,有很多人都在用堆内存,那就不好说了。
------解决思路----------------------
最麻烦的是,A模块越界访问,修改了B模块分配的内存,这时候B模块会出现一些莫名其妙的现象,QA会找到B模块的程序员,于是就悲剧了……