当前位置: 技术问答>linux和unix
invalid next size 问题
来源: 互联网 发布时间:2016-08-26
本文导语: 我用如下函数清除网页标题中形如, &的标记 static int clean_title(char* title) { char* t; /* turtle */ char* h; /* hare */ t = h = title; while(*h) { if('') ++h; ++h; /...
我用如下函数清除网页标题中形如, &的标记
static int
clean_title(char* title)
{
char* t; /* turtle */
char* h; /* hare */
t = h = title;
while(*h)
{
if('')
++h;
++h; //掠过'>'字符.
}
else if('&' == *h) //当遇上'&'时, 一直游历到';'
{
while(*h && *h != ';') ++h;
++h;
}
else if('n' == *h || 'r' == *h)
{
++h;
}
else
*t++ = *h++;
}
*t = ''; /*最后要结尾*/
}
但每每加上这段代码,便会出现 invalid next size的异常,也就是说我的操作越界,破坏了malloc所分配内存的记录信息。
我拿该函数模拟能够导致错误的情况,但总也出不了相应的错误:
#include
#include
#include
int
main(int argc, char *argv[])
{
char *title;
int length;
const char *argv1;
int i;
/*
if(argc