大佬教程收集整理的这篇文章主要介绍了Valgrind – strcpy的大小为1的写入无效,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
17 void swaPDAta(struct Node *node1,struct Node *node2) 18 { 19 // Create a new node "temp" that stores the data of node2 20 struct Node *temp = (struct Node *)malloc(sizeof(struct NodE)); 21 temp->data = malloc(strlen(node2->data)); 22 23 strcpy(temp->data,node2->data); 24 25 // Copy data from node1 to node2 26 strcpy(node2->data,node1->data); 27 28 // Copy data from temp to node1 29 strcpy(node1->data,temp->data); 30 31 free(temp->data); 32 free(temp); 33 }
每当我运行valgrind时,它会不断给我这个输出:
==27570== Invalid write of size 1 ==27570== at 0x4C2C00F: strcpy (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==27570== by 0x400794: swaPDAta (test4.c:23) ==27570== by 0x400A9C: sort (list2.c:20) ==27570== by 0x40086B: main (test4.c:49) ==27570== Address 0x51f11dd is 0 bytes after a block of size 13 alloc'd ==27570== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==27570== by 0x40076B: swaPDAta (test4.c:21) ==27570== by 0x400A9C: sort (list2.c:20) ==27570== by 0x40086B: main (test4.c:49) ==27570== ==27570== source and desTination overlap in strcpy(0x51f1130,0x51f1130) ==27570== at 0x4C2C085: strcpy (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==27570== by 0x4007B2: swaPDAta (test4.c:26) ==27570== by 0x400A9C: sort (list2.c:20) ==27570== by 0x40086B: main (test4.c:49) ==27570== ==27570== Invalid read of size 1 ==27570== at 0x4C2C002: strcpy (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==27570== by 0x4007D0: swaPDAta (test4.c:29) ==27570== by 0x400A9C: sort (list2.c:20) ==27570== by 0x40086B: main (test4.c:49) ==27570== Address 0x51f11dd is 0 bytes after a block of size 13 alloc'd ==27570== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==27570== by 0x40076B: swaPDAta (test4.c:21) ==27570== by 0x400A9C: sort (list2.c:20) ==27570== by 0x40086B: main (test4.c:49) ==27570==
以上是大佬教程为你收集整理的Valgrind – strcpy的大小为1的写入无效全部内容,希望文章能够帮你解决Valgrind – strcpy的大小为1的写入无效所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。