Wireshark-commits: [Wireshark-commits] master 3120d1f: Fix memory leaks in all_ifaces when interfac

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Fri, 11 Dec 2015 10:38:43 +0000 (UTC)
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=3120d1f8012377820dbc011713377ff9daab5f5c
Submitter: Peter Wu (peter@xxxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

3120d1f by Mikael Kanstrup (mikael.kanstrup@xxxxxxxxx):

    Fix memory leaks in all_ifaces when interface list changes
    
    Valgrind report leaks of several allocations like these:
    590 bytes in 50 blocks are possibly lost in loss record 29,818 of 31,670
       at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
       by 0xCB9C8A7: __vasprintf_chk (vasprintf_chk.c:82)
       by 0xA3D8DCA: g_vasprintf (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
       by 0xA3B846C: g_strdup_vprintf (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
       by 0xA3B850B: g_strdup_printf (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.4)
       by 0x6F4B51: scan_local_interfaces (iface_lists.c:254)
       by 0x6EF3D8: iface_mon_handler2 (iface_monitor.c:113)
       by 0xBE56F1D: ??? (in /lib/libnl-3.so.200.3.0)
       by 0xBA16F19: ??? (in /usr/lib/libnl-route-3.so.200.3.0)
       by 0xBE54E5E: nl_cache_parse (in /lib/libnl-3.so.200.3.0)
       by 0xBE585CA: nl_msg_parse (in /lib/libnl-3.so.200.3.0)
       by 0x6EF372: iface_mon_handler (iface_monitor.c:123)
    
    When the list of network interfaces is updated allocations done
    for global_capture_opts.all_ifaces elements leak memory. Fixed by
    introducing a helper function to be used for removing an interface_t
    element from all_ifaces array. While at it also fixed misc leaks when
    updating individual allocated records of all_ifaces elements.
    
    Change-Id: I035e6936a44edeef2ebe4780931c14cde99e93a4
    Reviewed-on: https://code.wireshark.org/review/12209
    Petri-Dish: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    Tested-by: Petri Dish Buildbot <buildbot-no-reply@xxxxxxxxxxxxx>
    Reviewed-by: Peter Wu <peter@xxxxxxxxxxxxx>
    

Actions performed:

    from  f142595   Lua: Validate ProtoExpert.new arguments
    adds  3120d1f   Fix memory leaks in all_ifaces when interface list changes


Summary of changes:
 capture_opts.c                      |   44 +++++++++++++++++++++++++++++++++++
 capture_opts.h                      |    3 +++
 ui/gtk/capture_dlg.c                |    8 +++++++
 ui/iface_lists.c                    |    5 +++-
 ui/qt/capture_filter_edit.cpp       |    1 +
 ui/qt/capture_interfaces_dialog.cpp |    1 +
 ui/qt/interface_tree.cpp            |   12 ++++------
 ui/qt/manage_interfaces_dialog.cpp  |    3 +++
 8 files changed, 68 insertions(+), 9 deletions(-)