Please look at: http://thread.gmane.org/gmane.network.tcpdump.devel/6389/focus=6395
What are you suggest? thanks nadav On 20 June 2013 10:17, Nadav Vinik <nadav...@gmail.com> wrote: > I found the problem of the double free. > bold lines are my changes. > > if I put in comment the first row in bold or "_pcap_close0 (cap)" before > the next bold line its work. > > "*handle is null"* is printed only if the first row in bold is in comment. > > 1) why g_free free "_tmp16_" (cap) ? > 2) what g_free put in cap which is free but not NULL? > > #define _pcap_close0(var) ((var == NULL) ? NULL : (var = (pcap_close > (var), NULL))) > > tmp18_ = pcap_next (_tmp16_, &_tmp17_); > (&header); > header = _tmp17_; > _tmp19_ = _tmp18_; > _tmp19__length1 = -1; > *//_tmp19_ = (g_free (_tmp19_), NULL);* > _tmp20_ = stdout; > _tmp21_ = header; > _tmp22_ = _tmp21_.len; > fprintf (_tmp20_, "Got packet caplen = %d\n", (gint) _tmp22_); > result = 0; > _pcap_close0 (cap); > *printf("_pcap_close in 157\n");* > *if(cap == NULL ) { > printf("handle is null\n"); > }* > _g_free0 (dev); > errbuf = (g_free (errbuf), NULL); > (&header); > packet = (g_free (packet), NULL); > return result; > > } > > On 19 June 2013 22:03, Nadav Vinik <nadav...@gmail.com> wrote: > >> Hello >> >> I got this error only if cap.next catch packet with len more then zero: >> >> /*packet = */cap.next(out header); >> stdout.printf("Got packet caplen = %d\n", header.len); >> >> I convert the code from "a.c" which it run well there. >> taken from: >> http://www.tcpdump.org/pcap.html >> >> pcap vapi taken from: >> https://github.com/apmasell/vapis/blob/master/libpcap.vapi >> >> >> Vala 0.20.1 >> >> Thanks >> Nadav >> >> $ sudo ./gtk_foobar_sample >> Got packet caplen = 90 >> *** Error in `./gtk_foobar_sample': double free or corruption (!prev): >> 0x00000000018e4370 *** >> ======= Backtrace: ========= >> /lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7f85cd0d6a46] >> /usr/lib/x86_64-linux-gnu/libpcap.so.0.8(+0x696a)[0x7f85cd42496a] >> /usr/lib/x86_64-linux-gnu/libpcap.so.0.8(pcap_close+0x1e)[0x7f85cd42b2fe] >> ./gtk_foobar_sample(main+0xd5)[0x4012f5] >> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f85cd077ea5] >> ./gtk_foobar_sample[0x40139d] >> ======= Memory map: ======== >> 00400000-00403000 r-xp 00000000 08:0b 13320688 >> /media/debian-home/nadav3/tmp/gtk-foobar-sample/src/gtk_foobar_sample >> 00602000-00603000 r--p 00002000 08:0b 13320688 >> /media/debian-home/nadav3/tmp/gtk-foobar-sample/src/gtk_foobar_sample >> 00603000-00604000 rw-p 00003000 08:0b 13320688 >> /media/debian-home/nadav3/tmp/gtk-foobar-sample/src/gtk_foobar_sample >> 018d9000-018fa000 rw-p 00000000 00:00 0 >> [heap] >> 7f85cc7dc000-7f85cc7f0000 r-xp 00000000 08:01 1202110 >> /lib/x86_64-linux-gnu/libgcc_s.so.1 >> 7f85cc7f0000-7f85cc9f0000 ---p 00014000 08:01 1202110 >> /lib/x86_64-linux-gnu/libgcc_s.so.1 >> 7f85cc9f0000-7f85cc9f1000 r--p 00014000 08:01 1202110 >> /lib/x86_64-linux-gnu/libgcc_s.so.1 >> 7f85cc9f1000-7f85cc9f2000 rw-p 00015000 08:01 1202110 >> /lib/x86_64-linux-gnu/libgcc_s.so.1 >> 7f85cc9f2000-7f85cca0a000 r-xp 00000000 08:01 1202290 >> /lib/x86_64-linux-gnu/libpthread-2.17.so >> 7f85cca0a000-7f85ccc09000 ---p 00018000 08:01 1202290 >> /lib/x86_64-linux-gnu/libpthread-2.17.so >> 7f85ccc09000-7f85ccc0a000 r--p 00017000 08:01 1202290 >> /lib/x86_64-linux-gnu/libpthread-2.17.so >> 7f85ccc0a000-7f85ccc0b000 rw-p 00018000 08:01 1202290 >> /lib/x86_64-linux-gnu/libpthread-2.17.so >> 7f85ccc0b000-7f85ccc0f000 rw-p 00000000 00:00 0 >> 7f85ccc0f000-7f85ccc4c000 r-xp 00000000 08:01 1202713 >> /lib/x86_64-linux-gnu/libpcre.so.3.13.1 >> 7f85ccc4c000-7f85cce4c000 ---p 0003d000 08:01 1202713 >> /lib/x86_64-linux-gnu/libpcre.so.3.13.1 >> 7f85cce4c000-7f85cce4d000 r--p 0003d000 08:01 1202713 >> /lib/x86_64-linux-gnu/libpcre.so.3.13.1 >> 7f85cce4d000-7f85cce4e000 rw-p 0003e000 08:01 1202713 >> /lib/x86_64-linux-gnu/libpcre.so.3.13.1 >> 7f85cce4e000-7f85cce55000 r-xp 00000000 08:01 360731 >> /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 >> 7f85cce55000-7f85cd054000 ---p 00007000 08:01 360731 >> /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 >> 7f85cd054000-7f85cd055000 r--p 00006000 08:01 360731 >> /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 >> 7f85cd055000-7f85cd056000 rw-p 00007000 08:01 360731 >> /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 >> 7f85cd056000-7f85cd214000 r-xp 00000000 08:01 1202232 >> /lib/x86_64-linux-gnu/libc-2.17.so >> 7f85cd214000-7f85cd413000 ---p 001be000 08:01 1202232 >> /lib/x86_64-linux-gnu/libc-2.17.so >> 7f85cd413000-7f85cd417000 r--p 001bd000 08:01 1202232 >> /lib/x86_64-linux-gnu/libc-2.17.so >> 7f85cd417000-7f85cd419000 rw-p 001c1000 08:01 1202232 >> /lib/x86_64-linux-gnu/libc-2.17.so >> 7f85cd419000-7f85cd41e000 rw-p 00000000 00:00 0 >> 7f85cd41e000-7f85cd455000 r-xp 00000000 08:01 102383 >> /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0 >> 7f85cd455000-7f85cd654000 ---p 00037000 08:01 102383 >> /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0 >> 7f85cd654000-7f85cd656000 r--p 00036000 08:01 102383 >> /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0 >> 7f85cd656000-7f85cd657000 rw-p 00038000 08:01 102383 >> /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0 >> 7f85cd657000-7f85cd658000 rw-p 00000000 00:00 0 >> 7f85cd658000-7f85cd751000 r-xp 00000000 08:01 1201960 >> /lib/x86_64-linux-gnu/libglib-2.0.so.0.3600.0 >> 7f85cd751000-7f85cd951000 ---p 000f9000 08:01 1201960 >> /lib/x86_64-linux-gnu/libglib-2.0.so.0.3600.0 >> 7f85cd951000-7f85cd952000 r--p 000f9000 08:01 1201960 >> /lib/x86_64-linux-gnu/libglib-2.0.so.0.3600.0 >> 7f85cd952000-7f85cd953000 rw-p 000fa000 08:01 1201960 >> /lib/x86_64-linux-gnu/libglib-2.0.so.0.3600.0 >> 7f85cd953000-7f85cd954000 rw-p 00000000 00:00 0 >> 7f85cd954000-7f85cd9a1000 r-xp 00000000 08:01 359889 >> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3600.0 >> 7f85cd9a1000-7f85cdba1000 ---p 0004d000 08:01 359889 >> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3600.0 >> 7f85cdba1000-7f85cdba2000 r--p 0004d000 08:01 359889 >> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3600.0 >> 7f85cdba2000-7f85cdba3000 rw-p 0004e000 08:01 359889 >> /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.3600.0 >> 7f85cdba3000-7f85cdbc6000 r-xp 00000000 08:01 1202124 >> /lib/x86_64-linux-gnu/ld-2.17.so >> 7f85cdd8b000-7f85cdd90000 rw-p 00000000 00:00 0 >> 7f85cddc1000-7f85cddc5000 rw-p 00000000 00:00 0 >> 7f85cddc5000-7f85cddc6000 r--p 00022000 08:01 1202124 >> /lib/x86_64-linux-gnu/ld-2.17.so >> 7f85cddc6000-7f85cddc8000 rw-p 00023000 08:01 1202124 >> /lib/x86_64-linux-gnu/ld-2.17.so >> 7fffbe772000-7fffbe793000 rw-p 00000000 00:00 0 >> [stack] >> 7fffbe7fe000-7fffbe800000 r-xp 00000000 00:00 0 >> [vdso] >> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 >> [vsyscall] >> >> >> -- >> הבלוג שלי: >> http://nadavvin.com >> >> >> >> -- >> הבלוג שלי: >> http://nadavvin.com >> > > > > -- > הבלוג שלי: > http://nadavvin.com > -- הבלוג שלי: http://nadavvin.com _______________________________________________ vala-list mailing list vala-list@gnome.org https://mail.gnome.org/mailman/listinfo/vala-list