[英]I am getting an error of invalid write of size 8 on my code when I run Valgrind
[英]How to solve the valgrind problem I am getting in my code?
下面是我的代码,它是一个双链表,我遇到的问题在这个 function 中,它是说:在 0x400C71 处使用大小为 8 的未初始化值:append_linked_list (linked_list.Z4A8A08F09D37B737 write3649038408B583)在 0x400c71 大小为 8:append_linked_list (linked_list.c83)
Node *append_linked_list(LinkedList *list, void *data)
{
Node *tailnode;
if (list == 0)
{
fprintf(stderr, "Warning: list is empty.");
printf("\n");
return 0;
}
else
{
tailnode = (Node *)malloc(sizeof(Node));
tailnode -> data = data;
tailnode -> next = 0;
tailnode -> prev = list -> tail;
(list -> tail) -> next = tailnode;
list -> tail = tailnode;
}
return tailnode;
}
第 83 行是
(list -> tail) -> next = tailnode;
这意味着
list -> tail
不包含有效的指针。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.