Some potential memory leaks reported by valgrind
Versions:
- libotr 4.1.0-8-g03e3cad9
- libgcrypt 1.6.3
- bitlbee 3.4
Bitlbee side of the implementation https://github.com/bitlbee/bitlbee/blob/3.4/otr.c (otr.c in the filenames below)
These appear with just log in / log out to a bitlbee with otr compiled in
16 bytes in 1 blocks are possibly lost in loss record 27 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DEFA: do_malloc (global.c:776) by 0x597DFDB: _gcry_malloc_secure (global.c:817) by 0x597E443: _gcry_xmalloc_secure (global.c:996) by 0x597E546: _gcry_xcalloc_secure (global.c:1041) by 0x5A4DB50: _gcry_mpi_resize (mpiutil.c:187) by 0x5A49CB1: mpi_fromstr (mpicoder.c:115) by 0x5A4ACF7: _gcry_mpi_scan (mpicoder.c:574) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60C0E6E: otrl_dh_init (dh.c:57) by 0x60BD8C9: otrl_init (proto.c:78) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 16 bytes in 1 blocks are possibly lost in loss record 28 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DEFA: do_malloc (global.c:776) by 0x597DFDB: _gcry_malloc_secure (global.c:817) by 0x597E443: _gcry_xmalloc_secure (global.c:996) by 0x597E546: _gcry_xcalloc_secure (global.c:1041) by 0x5A4DB50: _gcry_mpi_resize (mpiutil.c:187) by 0x5A49CB1: mpi_fromstr (mpicoder.c:115) by 0x5A4ACF7: _gcry_mpi_scan (mpicoder.c:574) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60CCAF8: otrl_sm_init (sm.c:103) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 32 bytes in 1 blocks are possibly lost in loss record 53 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x5A4D8B3: _gcry_mpi_alloc_secure (mpiutil.c:105) by 0x5A4ACD4: _gcry_mpi_scan (mpicoder.c:573) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60C0E48: otrl_dh_init (dh.c:55) by 0x60BD8C9: otrl_init (proto.c:78) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 32 bytes in 1 blocks are possibly lost in loss record 54 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x5A4D8B3: _gcry_mpi_alloc_secure (mpiutil.c:105) by 0x5A4ACD4: _gcry_mpi_scan (mpicoder.c:573) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60C0E6E: otrl_dh_init (dh.c:57) by 0x60BD8C9: otrl_init (proto.c:78) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 32 bytes in 1 blocks are possibly lost in loss record 55 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x5A4D819: _gcry_mpi_alloc (mpiutil.c:84) by 0x5A4E84E: _gcry_mpi_new (mpiutil.c:573) by 0x5979824: gcry_mpi_new (visibility.c:271) by 0x60C0E7A: otrl_dh_init (dh.c:59) by 0x60BD8C9: otrl_init (proto.c:78) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 32 bytes in 1 blocks are possibly lost in loss record 56 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x5A4D8B3: _gcry_mpi_alloc_secure (mpiutil.c:105) by 0x5A4ACD4: _gcry_mpi_scan (mpicoder.c:573) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60CCAAC: otrl_sm_init (sm.c:99) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 32 bytes in 1 blocks are possibly lost in loss record 57 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x5A4D8B3: _gcry_mpi_alloc_secure (mpiutil.c:105) by 0x5A4ACD4: _gcry_mpi_scan (mpicoder.c:573) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60CCAD2: otrl_sm_init (sm.c:101) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 32 bytes in 1 blocks are possibly lost in loss record 58 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x5A4D8B3: _gcry_mpi_alloc_secure (mpiutil.c:105) by 0x5A4ACD4: _gcry_mpi_scan (mpicoder.c:573) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60CCAF8: otrl_sm_init (sm.c:103) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 32 bytes in 1 blocks are possibly lost in loss record 59 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x5A4D819: _gcry_mpi_alloc (mpiutil.c:84) by 0x5A4E84E: _gcry_mpi_new (mpiutil.c:573) by 0x5979824: gcry_mpi_new (visibility.c:271) by 0x60CCB04: otrl_sm_init (sm.c:105) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 200 bytes in 1 blocks are possibly lost in loss record 89 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DEFA: do_malloc (global.c:776) by 0x597DFDB: _gcry_malloc_secure (global.c:817) by 0x597E443: _gcry_xmalloc_secure (global.c:996) by 0x597E546: _gcry_xcalloc_secure (global.c:1041) by 0x5A4DB50: _gcry_mpi_resize (mpiutil.c:187) by 0x5A49CB1: mpi_fromstr (mpicoder.c:115) by 0x5A4ACF7: _gcry_mpi_scan (mpicoder.c:574) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60C0E48: otrl_dh_init (dh.c:55) by 0x60BD8C9: otrl_init (proto.c:78) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 200 bytes in 1 blocks are possibly lost in loss record 90 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DEFA: do_malloc (global.c:776) by 0x597DFDB: _gcry_malloc_secure (global.c:817) by 0x597E443: _gcry_xmalloc_secure (global.c:996) by 0x597E546: _gcry_xcalloc_secure (global.c:1041) by 0x5A4DB50: _gcry_mpi_resize (mpiutil.c:187) by 0x5A49CB1: mpi_fromstr (mpicoder.c:115) by 0x5A4ACF7: _gcry_mpi_scan (mpicoder.c:574) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60CCAAC: otrl_sm_init (sm.c:99) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 200 bytes in 1 blocks are possibly lost in loss record 91 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DEFA: do_malloc (global.c:776) by 0x597DFDB: _gcry_malloc_secure (global.c:817) by 0x597E443: _gcry_xmalloc_secure (global.c:996) by 0x597E546: _gcry_xcalloc_secure (global.c:1041) by 0x5A4DB50: _gcry_mpi_resize (mpiutil.c:187) by 0x5A49CB1: mpi_fromstr (mpicoder.c:115) by 0x5A4ACF7: _gcry_mpi_scan (mpicoder.c:574) by 0x5979A0E: gcry_mpi_scan (visibility.c:357) by 0x60CCAD2: otrl_sm_init (sm.c:101) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 208 bytes in 1 blocks are possibly lost in loss record 92 of 113 at 0x4C2C29E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C22F0: otrl_mem_realloc (mem.c:136) by 0x597E095: _gcry_realloc (global.c:862) by 0x597E3B2: _gcry_xrealloc (global.c:978) by 0x5A4DAEF: _gcry_mpi_resize (mpiutil.c:179) by 0x5A44C9E: _gcry_mpi_sub_ui (mpi-add.c:178) by 0x5979B91: gcry_mpi_sub_ui (visibility.c:410) by 0x60C0E9F: otrl_dh_init (dh.c:60) by 0x60BD8C9: otrl_init (proto.c:78) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 208 bytes in 1 blocks are possibly lost in loss record 93 of 113 at 0x4C2C29E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C22F0: otrl_mem_realloc (mem.c:136) by 0x597E095: _gcry_realloc (global.c:862) by 0x597E3B2: _gcry_xrealloc (global.c:978) by 0x5A4DAEF: _gcry_mpi_resize (mpiutil.c:179) by 0x5A44C9E: _gcry_mpi_sub_ui (mpi-add.c:178) by 0x5979B91: gcry_mpi_sub_ui (visibility.c:410) by 0x60CCB29: otrl_sm_init (sm.c:106) by 0x60BD8CE: otrl_init (proto.c:81) by 0x12EFAA: otr_init (otr.c:227) by 0x13AAE2: main (unix.c:88) 2,184 bytes in 3 blocks are definitely lost in loss record 112 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60CF5D9: otrl_context_priv_new (context_priv.c:35) by 0x60BC946: new_context (context.c:158) by 0x60BCE39: otrl_context_find (context.c:306) by 0x60BBED5: otrl_privkey_read_fingerprints_FILEp (privkey.c:756) by 0x60BBB83: otrl_privkey_read_fingerprints (privkey.c:686) by 0x12F533: otr_load (otr.c:333) by 0x1396C3: storage_load (storage.c:128) by 0x134D30: cmd_identify (root_commands.c:146) by 0x134A0A: root_command (root_commands.c:68) by 0x123AC0: irc_check_login (irc.c:779) by 0x12911F: irc_cmd_user (irc_commands.c:65) by 0x12B2FB: irc_exec (irc_commands.c:755) by 0x122A92: irc_process (irc.c:397) by 0x11D30C: bitlbee_io_current_client_read (bitlbee.c:211) by 0x13D238: gaim_io_invoke (events_glib.c:86) by 0x538891C: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5388CF7: ??? (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5389021: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x13D17C: b_main_run (events_glib.c:59) by 0x13AF75: main (unix.c:170)
These only happen when sending and receiving a message
672 bytes in 1 blocks are possibly lost in loss record 108 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x597E4C0: _gcry_xcalloc (global.c:1023) by 0x5A40D43: initialize (random-csprng.c:324) by 0x5A41002: _gcry_rngcsprng_randomize (random-csprng.c:519) by 0x5A407DF: do_randomize (random.c:312) by 0x5A40851: _gcry_random_bytes_secure (random.c:341) by 0x597B399: gcry_random_bytes_secure (visibility.c:1310) by 0x60C103A: otrl_dh_gen_keypair (dh.c:109) by 0x60C82D3: otrl_auth_start_v23 (auth.c:160) by 0x60C6F3C: otrl_message_receiving (message.c:1816) by 0x12FBA9: otr_filter_msg_in (otr.c:438) by 0x124B58: bee_irc_user_msg (irc_im.c:229) by 0x14BCE9: imcb_buddy_msg (bee_user.c:267) by 0x15FB0E: jabber_pkt_message (message.c:128) by 0x147FEA: xt_handle (xmltree.c:195) by 0x147E43: xt_handle (xmltree.c:174) by 0x147E07: xt_handle (xmltree.c:169) by 0x1584C3: jabber_read_callback (io.c:175) by 0x13D238: gaim_io_invoke (events_glib.c:86) by 0x538891C: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5388CF7: ??? (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5389021: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x13D17C: b_main_run (events_glib.c:59) by 0x13AF75: main (unix.c:170) 672 bytes in 1 blocks are possibly lost in loss record 109 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60C2091: otrl_mem_malloc (mem.c:60) by 0x597DF2E: do_malloc (global.c:783) by 0x597DFAC: _gcry_malloc (global.c:807) by 0x597E312: _gcry_xmalloc (global.c:961) by 0x597E4C0: _gcry_xcalloc (global.c:1023) by 0x5A40D74: initialize (random-csprng.c:327) by 0x5A41002: _gcry_rngcsprng_randomize (random-csprng.c:519) by 0x5A407DF: do_randomize (random.c:312) by 0x5A40851: _gcry_random_bytes_secure (random.c:341) by 0x597B399: gcry_random_bytes_secure (visibility.c:1310) by 0x60C103A: otrl_dh_gen_keypair (dh.c:109) by 0x60C82D3: otrl_auth_start_v23 (auth.c:160) by 0x60C6F3C: otrl_message_receiving (message.c:1816) by 0x12FBA9: otr_filter_msg_in (otr.c:438) by 0x124B58: bee_irc_user_msg (irc_im.c:229) by 0x14BCE9: imcb_buddy_msg (bee_user.c:267) by 0x15FB0E: jabber_pkt_message (message.c:128) by 0x147FEA: xt_handle (xmltree.c:195) by 0x147E43: xt_handle (xmltree.c:174) by 0x147E07: xt_handle (xmltree.c:169) by 0x1584C3: jabber_read_callback (io.c:175) by 0x13D238: gaim_io_invoke (events_glib.c:86) by 0x538891C: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5388CF7: ??? (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5389021: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x13D17C: b_main_run (events_glib.c:59) by 0x13AF75: main (unix.c:170) 1,456 bytes in 2 blocks are definitely lost in loss record 110 of 113 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x60CF5D9: otrl_context_priv_new (context_priv.c:35) by 0x60BC946: new_context (context.c:158) by 0x60BCE39: otrl_context_find (context.c:306) by 0x60C4EAA: otrl_message_receiving (message.c:1076) by 0x12FBA9: otr_filter_msg_in (otr.c:438) by 0x124B58: bee_irc_user_msg (irc_im.c:229) by 0x14BCE9: imcb_buddy_msg (bee_user.c:267) by 0x15FB0E: jabber_pkt_message (message.c:128) by 0x147FEA: xt_handle (xmltree.c:195) by 0x147E43: xt_handle (xmltree.c:174) by 0x147E07: xt_handle (xmltree.c:169) by 0x1584C3: jabber_read_callback (io.c:175) by 0x13D238: gaim_io_invoke (events_glib.c:86) by 0x538891C: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5388CF7: ??? (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x5389021: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.4200.1) by 0x13D17C: b_main_run (events_glib.c:59) by 0x13AF75: main (unix.c:170)
(from redmine: created on 2015-04-05)