Query related to memory leaks and read errors in snmptrap command
Chaitanya Gulhane <[email protected]>
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <CABVY9Hst-Obz3OGoXVD55-RJdyGHsP_nktTActvhE30=XX6o9A@mail.gmail.com> |
Hi, I was using net-snmp 5.6.2 and have built the code and installed it. I was using valgrind over snmptrap command. Following is the command I ran. valgrind --leak-check=full --log-file=log_snmptrap snmptrap -v 2c -c public "" localhost UCD-TRAP-TEST-MIB::demoTrap Following is the valgrind logging ==20969== Memcheck, a memory error detector ==20969== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==20969== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info ==20969== Command: snmptrap -v 2c -c public localhost UCD-TRAP-TEST-MIB::demoTrap ==20969== Parent PID: 2080 ==20969== ==20969== Invalid read of size 8 ==20969== at 0x35B0E84F66: __GI___strcasecmp_l (in /lib64/libc-2.12.so) ==20969== by 0x4C5F6EB: read_config_find_handler (read_config.c:504) ==20969== by 0x4C5F717: run_config_handler (read_config.c:520) ==20969== by 0x4C5FE74: read_config (read_config.c:934) ==20969== by 0x4C60A98: read_config_files_in_path (read_config.c:1277) ==20969== by 0x4C60E7B: read_config_files_of_type (read_config.c:1365) ==20969== by 0x4C60ED2: read_config_files (read_config.c:1401) ==20969== by 0x4C6146E: read_premib_configs (read_config.c:1045) ==20969== by 0x4C43C92: init_snmp (snmp_api.c:848) ==20969== by 0x4C58F86: netsnmp_parse_args (snmp_parse_args.c:641) ==20969== by 0x4012A1: main (snmptrap.c:147) ==20969== Address 0x4f01c18 is 8 bytes inside a block of size 10 alloc'd ==20969== at 0x4A05236: malloc (vg_replace_malloc.c:236) ==20969== by 0x35B0E81081: strdup (in /lib64/libc-2.12.so) ==20969== by 0x4C61D17: internal_register_config_handler (read_config.c:229) ==20969== by 0x4C61B4A: internal_register_config_handler (read_config.c:185) ==20969== by 0x4C73E1B: netsnmp_register_service_handlers (snmp_service.c:407) ==20969== by 0x4C43C6E: init_snmp (snmp_api.c:791) ==20969== by 0x4C58F86: netsnmp_parse_args (snmp_parse_args.c:641) ==20969== by 0x4012A1: main (snmptrap.c:147) ==20969== ==20969== Conditional jump or move depends on uninitialised value(s) ==20969== at 0x35B0E84FCB: __GI___strcasecmp_l (in /lib64/libc-2.12.so) ==20969== by 0x4C5F6EB: read_config_find_handler (read_config.c:504) ==20969== by 0x4C5F717: run_config_handler (read_config.c:520) ==20969== by 0x4C5FE74: read_config (read_config.c:934) ==20969== by 0x4C60A98: read_config_files_in_path (read_config.c:1277) ==20969== by 0x4C60E7B: read_config_files_of_type (read_config.c:1365) ==20969== by 0x4C60ED2: read_config_files (read_config.c:1401) ==20969== by 0x4C6146E: read_premib_configs (read_config.c:1045) ==20969== by 0x4C43C92: init_snmp (snmp_api.c:848) ==20969== by 0x4C58F86: netsnmp_parse_args (snmp_parse_args.c:641) ==20969== by 0x4012A1: main (snmptrap.c:147) ==20969== ==20969== Use of uninitialised value of size 8 ==20969== at 0x35B0E87104: __GI___strcasecmp_l (in /lib64/libc-2.12.so) ==20969== by 0x4C5F6EB: read_config_find_handler (read_config.c:504) ==20969== by 0x4C5F717: run_config_handler (read_config.c:520) ==20969== by 0x4C5FE74: read_config (read_config.c:934) ==20969== by 0x4C60A98: read_config_files_in_path (read_config.c:1277) ==20969== by 0x4C60E7B: read_config_files_of_type (read_config.c:1365) ==20969== by 0x4C60ED2: read_config_files (read_config.c:1401) ==20969== by 0x4C6146E: read_premib_configs (read_config.c:1045) ==20969== by 0x4C43C92: init_snmp (snmp_api.c:848) ==20969== by 0x4C58F86: netsnmp_parse_args (snmp_parse_args.c:641) ==20969== by 0x4012A1: main (snmptrap.c:147) ==20969== ==20969== Use of uninitialised value of size 8 ==20969== at 0x35B0E87108: __GI___strcasecmp_l (in /lib64/libc-2.12.so) ==20969== by 0x4C5F6EB: read_config_find_handler (read_config.c:504) ==20969== by 0x4C5F717: run_config_handler (read_config.c:520) ==20969== by 0x4C5FE74: read_config (read_config.c:934) ==20969== by 0x4C60A98: read_config_files_in_path (read_config.c:1277) ==20969== by 0x4C60E7B: read_config_files_of_type (read_config.c:1365) ==20969== by 0x4C60ED2: read_config_files (read_config.c:1401) ==20969== by 0x4C6146E: read_premib_configs (read_config.c:1045) ==20969== by 0x4C43C92: init_snmp (snmp_api.c:848) ==20969== by 0x4C58F86: netsnmp_parse_args (snmp_parse_args.c:641) ==20969== by 0x4012A1: main (snmptrap.c:147) ==20969== ==20969== Invalid read of size 8 ==20969== at 0x35B0E84F5D: __GI___strcasecmp_l (in /lib64/libc-2.12.so) ==20969== by 0x4C7501D: find_tdomain (snmp_transport.c:427) ==20969== by 0x4C753AE: netsnmp_tdomain_transport_full (snmp_transport.c:613) ==20969== by 0x401323: main (snmptrap.c:218) ==20969== Address 0x4ef8d50 is 0 bytes inside a block of size 4 alloc'd ==20969== at 0x4A05236: malloc (vg_replace_malloc.c:236) ==20969== by 0x35B0E81081: strdup (in /lib64/libc-2.12.so) ==20969== by 0x4C7421A: create_word_array_helper (snmp_service.c:15) ==20969== by 0x4C742B9: create_word_array (snmp_service.c:31) ==20969== by 0x4C745A9: netsnmp_register_default_domain (snmp_service.c:87) ==20969== by 0x4C43218: _init_snmp (snmp_api.c:694) ==20969== by 0x4C433B8: snmp_sess_init (snmp_api.c:730) ==20969== by 0x4C581E4: netsnmp_parse_args (snmp_parse_args.c:210) ==20969== by 0x4012A1: main (snmptrap.c:147) ==20969== ==20969== Invalid read of size 8 ==20969== at 0x35B0E84F66: __GI___strcasecmp_l (in /lib64/libc-2.12.so) ==20969== by 0x4C7501D: find_tdomain (snmp_transport.c:427) ==20969== by 0x4C753AE: netsnmp_tdomain_transport_full (snmp_transport.c:613) ==20969== by 0x401323: main (snmptrap.c:218) ==20969== Address 0x4ef8d58 is 4 bytes after a block of size 4 alloc'd ==20969== at 0x4A05236: malloc (vg_replace_malloc.c:236) ==20969== by 0x35B0E81081: strdup (in /lib64/libc-2.12.so) ==20969== by 0x4C7421A: create_word_array_helper (snmp_service.c:15) ==20969== by 0x4C742B9: create_word_array (snmp_service.c:31) ==20969== by 0x4C745A9: netsnmp_register_default_domain (snmp_service.c:87) ==20969== by 0x4C43218: _init_snmp (snmp_api.c:694) ==20969== by 0x4C433B8: snmp_sess_init (snmp_api.c:730) ==20969== by 0x4C581E4: netsnmp_parse_args (snmp_parse_args.c:210) ==20969== by 0x4012A1: main (snmptrap.c:147) ==20969== ==20969== ==20969== HEAP SUMMARY: ==20969== in use at exit: 42 bytes in 3 blocks ==20969== total heap usage: 19,431 allocs, 19,428 frees, 1,140,080 bytes allocated ==20969== *==20969== 17 bytes in 1 blocks are definitely lost in loss record 2 of 3* *==20969== at 0x4A05236: malloc (vg_replace_malloc.c:236)* *==20969== by 0x4C66C51: snmpv3_generate_engineID (snmpv3.c:1563)* *==20969== by 0x401652: main (snmptrap.c:175)* *==20969== * *==20969== 18 bytes in 1 blocks are definitely lost in loss record 3 of 3* *==20969== at 0x4A05236: malloc (vg_replace_malloc.c:236)* *==20969== by 0x40122D: main (snmptrap.c:143)* ==20969== ==20969== LEAK SUMMARY: *==20969== definitely lost: 35 bytes in 2 blocks* ==20969== indirectly lost: 0 bytes in 0 blocks ==20969== possibly lost: 0 bytes in 0 blocks ==20969== still reachable: 7 bytes in 1 blocks ==20969== suppressed: 0 bytes in 0 blocks ==20969== Reachable blocks (those to which a pointer was found) are not shown. ==20969== To see them, rerun with: --leak-check=full --show-reachable=yes ==20969== ==20969== For counts of detected and suppressed errors, rerun with: -v ==20969== Use --track-origins=yes to see where uninitialised values come from ==20969== ERROR SUMMARY: 100 errors from 8 contexts (suppressed: 4 from I came to know highlighted memory leaks. Is any patch available for the same? ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk _______________________________________________ Net-snmp-users mailing list [email protected] Please see the following page to unsubscribe or change other options: https://lists.sourceforge.net/lists/listinfo/net-snmp-users