带有ICD指针的C代码中的Valgrind Orry



我继承了一个C代码..,其中一行在下面。ICD的含义。是关键字还是名字。我在任何地方都找不到Google。

icd **d1cols = (icd**)malloc(measquant*sizeof(icd *));

我有:

for(i=0; i<measquant; i++){
    *(d1cols + i) = getwtOnAFileColReturnDouble1(fp1, fp2, xx, yy);
}

如果我打印以下行

printf("Test 0,0 weight=%.3len",*((*(d1cols + 0 ))->wt+0));

我在valgrind中的错误以及其他错误中的错误:

尺寸8

的无效阅读

== 45918 ==在0x401945:main(getwtmeasall_1_main.c:143(
== 45918 ==地址0x7e83850是0个字节,大小为896 free'd

== 45918 ==在0x4C27430:free(vg_replace_malloc.c:446(

这里有什么问题。

看来代码正在尝试读取已经被划分的部分内存( free'd (。

icd是由您的代码使用的库定义的数据结构。没有其他详细信息,没有更多的话要说。

相关内容

  • 没有找到相关文章

最新更新