0

这是我用于解析.pcap文件的程序的 Valgrind 输出。

不幸的是,我可能不会在此处粘贴程序的源代码...问题是,当我在没有 valgrind 的情况下运行程序时,我没有任何memcpy(...)调用,它运行良好。plugin_input_get_flow(...)这可能吗?它是否表明,我以错误的方式使用 libpcap 库

Invalid write of size 1
==18228==    at 0x4A08877: memcpy (mc_replace_strmem.c:587)
==18228==    by 0x5229E9A: plugin_input_get_flow (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x409EA0: sw_get_flow_thread (in /usr/bin/flowmonexp)
==18228==    by 0x363600673C: start_thread (in /lib64/libpthread-2.5.so)
==18228==    by 0x36354D3D1C: clone (in /lib64/libc-2.5.so)
==18228==  Address 0xc3d2d5f is 1 bytes before a block of size 568 alloc'd
==18228==    at 0x4A0610C: malloc (vg_replace_malloc.c:195)
==18228==    by 0x3635461709: __fopen_internal (in /lib64/libc-2.5.so)
==18228==    by 0x3635C13A5C: pcap_open_offline (in /usr/lib64/libpcap.so.0.9.4)
==18228==    by 0x5229A3A: plugin_input_init (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x40974C: sw_init (in /usr/bin/flowmonexp)
==18228==    by 0x4115B5: main (in /usr/bin/flowmonexp)
==18228== 
==18228== Invalid write of size 1
==18228==    at 0x4A0887D: memcpy (mc_replace_strmem.c:587)
==18228==    by 0x5229E9A: plugin_input_get_flow (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x409EA0: sw_get_flow_thread (in /usr/bin/flowmonexp)
==18228==    by 0x363600673C: start_thread (in /lib64/libpthread-2.5.so)
==18228==    by 0x36354D3D1C: clone (in /lib64/libc-2.5.so)
==18228==  Address 0xc3d2d5e is 2 bytes before a block of size 568 alloc'd
==18228==    at 0x4A0610C: malloc (vg_replace_malloc.c:195)
==18228==    by 0x3635461709: __fopen_internal (in /lib64/libc-2.5.so)
==18228==    by 0x3635C13A5C: pcap_open_offline (in /usr/lib64/libpcap.so.0.9.4)
==18228==    by 0x5229A3A: plugin_input_init (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x40974C: sw_init (in /usr/bin/flowmonexp)
==18228==    by 0x4115B5: main (in /usr/bin/flowmonexp)
==18228== 
==18228== Invalid write of size 1
==18228==    at 0x4A08884: memcpy (mc_replace_strmem.c:587)
==18228==    by 0x5229E9A: plugin_input_get_flow (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x409EA0: sw_get_flow_thread (in /usr/bin/flowmonexp)
==18228==    by 0x363600673C: start_thread (in /lib64/libpthread-2.5.so)
==18228==    by 0x36354D3D1C: clone (in /lib64/libc-2.5.so)
==18228==  Address 0xc3d2d5d is 3 bytes before a block of size 568 alloc'd
==18228==    at 0x4A0610C: malloc (vg_replace_malloc.c:195)
==18228==    by 0x3635461709: __fopen_internal (in /lib64/libc-2.5.so)
==18228==    by 0x3635C13A5C: pcap_open_offline (in /usr/lib64/libpcap.so.0.9.4)
==18228==    by 0x5229A3A: plugin_input_init (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x40974C: sw_init (in /usr/bin/flowmonexp)
==18228==    by 0x4115B5: main (in /usr/bin/flowmonexp)
==18228== 
==18228== Invalid write of size 1
==18228==    at 0x4A0888F: memcpy (mc_replace_strmem.c:587)
==18228==    by 0x5229E9A: plugin_input_get_flow (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x409EA0: sw_get_flow_thread (in /usr/bin/flowmonexp)
==18228==    by 0x363600673C: start_thread (in /lib64/libpthread-2.5.so)
==18228==    by 0x36354D3D1C: clone (in /lib64/libc-2.5.so)
==18228==  Address 0xc3d2d5c is 4 bytes before a block of size 568 alloc'd
==18228==    at 0x4A0610C: malloc (vg_replace_malloc.c:195)
==18228==    by 0x3635461709: __fopen_internal (in /lib64/libc-2.5.so)
==18228==    by 0x3635C13A5C: pcap_open_offline (in /usr/lib64/libpcap.so.0.9.4)
==18228==    by 0x5229A3A: plugin_input_init (in /home/flowmon/ipfix/flowmon-http-plugins-1.0/src/input-http/.libs/flowmon-input-http.so)
==18228==    by 0x40974C: sw_init (in /usr/bin/flowmonexp)
==18228==    by 0x4115B5: main (in /usr/bin/flowmonexp)
4

0 回答 0