2011-11-15, 03:41 PM
该问题位于xdb.c文件的_xdb_to_xtree_node函数
buf = (unsigned char *) malloc(ptr->len + 1);
_xdb_read_data(x, buf, ptr->off, ptr->len);//这里590行
/* save the key & value -> xtree */
voff = buf[16] + 17;
第590行,当_xdb_read_data文件读取失败时(如果offset超过文件大小就会失败),程序还会继续往下执行,这样下面的代码执行将会报错。
buf = (unsigned char *) malloc(ptr->len + 1);
_xdb_read_data(x, buf, ptr->off, ptr->len);//这里590行
/* save the key & value -> xtree */
voff = buf[16] + 17;
第590行,当_xdb_read_data文件读取失败时(如果offset超过文件大小就会失败),程序还会继续往下执行,这样下面的代码执行将会报错。