Several memory leaks in ccsIntegratedSettingListAppend() from ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate() from ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName()

Bug #1100539 reported by Daniel van Vugt on 2013-01-16
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
High
Sam Spilsbury
compiz (Ubuntu)
High
Sam Spilsbury

Bug Description

Several memory leaks in ccsIntegratedSettingListAppend() from ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate() from ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName()

I wish I was kidding about the function names.

==29374== 16 bytes in 1 blocks are definitely lost in loss record 368 of 1,293
==29374== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==29374== by 0xA2F8495: ccsIntegratedSettingListAppend (lists.c:185)
==29374== by 0xA2F958C: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==29374== by 0xA3026CB: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==29374== by 0xAFB9DB3: ccsGNOMEIntegrationBackendReadOptionIntoSetting (ccs_gnome_integration.c:328)
==29374== by 0xAFB8DEA: readSetting (gsettings.c:68)
==29374== by 0xA2FF52A: ccsReadPluginSettingsDefault (main.c:3493)
==29374== by 0xA2F1A50: ccsLoadPluginSettings (compiz.cpp:3254)
==29374== by 0xA2FE341: ccsContextNew (main.c:552)
==29374== by 0xA0C9AFE: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:509)
==29374== by 0xA0CBE98: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
==29374== by 0x4EB1AD5: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
==29374==
==29374== 16 bytes in 1 blocks are definitely lost in loss record 369 of 1,293
==29374== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==29374== by 0xA2F8495: ccsIntegratedSettingListAppend (lists.c:185)
==29374== by 0xA2F958C: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==29374== by 0xA3026CB: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==29374== by 0xAFB9E10: ccsGNOMEIntegrationBackendReadOptionIntoSetting (ccs_gnome_integration.c:334)
==29374== by 0xAFB8DEA: readSetting (gsettings.c:68)
==29374== by 0xA2FF52A: ccsReadPluginSettingsDefault (main.c:3493)
==29374== by 0xA2F1A50: ccsLoadPluginSettings (compiz.cpp:3254)
==29374== by 0xA2FE341: ccsContextNew (main.c:552)
==29374== by 0xA0C9AFE: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:509)
==29374== by 0xA0CBE98: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
==29374== by 0x4EB1AD5: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
==29374==
==29374== 16 bytes in 1 blocks are definitely lost in loss record 370 of 1,293
==29374== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==29374== by 0xA2F8495: ccsIntegratedSettingListAppend (lists.c:185)
==29374== by 0xA2F958C: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==29374== by 0xA3026CB: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==29374== by 0xAFB9DB3: ccsGNOMEIntegrationBackendReadOptionIntoSetting (ccs_gnome_integration.c:328)
==29374== by 0xAFB8DEA: readSetting (gsettings.c:68)
==29374== by 0xA2FBC46: ccsReadSettingsDefault (main.c:3451)
==29374== by 0xA0C9B0A: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:510)
==29374== by 0xA0CBE98: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
==29374== by 0x4EB1AD5: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
==29374== by 0x4EB23A0: CompPlugin::push(CompPlugin*) (plugin.cpp:449)
==29374== by 0x4E83E53: compiz::private_screen::PluginManager::updatePlugins(CompScreen*, std::vector<CompOption::Value, std::allocator<CompOption::Value> > const&) (screen.cpp:1120)
==29374==
==29374== 16 bytes in 1 blocks are definitely lost in loss record 371 of 1,293
==29374== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==29374== by 0xA2F8495: ccsIntegratedSettingListAppend (lists.c:185)
==29374== by 0xA2F958C: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==29374== by 0xA3026CB: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==29374== by 0xAFB9E10: ccsGNOMEIntegrationBackendReadOptionIntoSetting (ccs_gnome_integration.c:334)
==29374== by 0xAFB8DEA: readSetting (gsettings.c:68)
==29374== by 0xA2FBC46: ccsReadSettingsDefault (main.c:3451)
==29374== by 0xA0C9B0A: CcpScreen::CcpScreen(CompScreen*) (ccp.cpp:510)
==29374== by 0xA0CBE98: CompPlugin::VTableForScreen<CcpScreen>::initScreen(CompScreen*) (plugin.h:282)
==29374== by 0x4EB1AD5: CompManager::initPlugin(CompPlugin*) (plugin.cpp:233)
==29374== by 0x4EB23A0: CompPlugin::push(CompPlugin*) (plugin.cpp:449)
==29374== by 0x4E83E53: compiz::private_screen::PluginManager::updatePlugins(CompScreen*, std::vector<CompOption::Value, std::allocator<CompOption::Value> > const&) (screen.cpp:1120)
==29374==

==29374== 32 bytes in 2 blocks are definitely lost in loss record 531 of 1,293
==29374== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==29374== by 0xA2F8495: ccsIntegratedSettingListAppend (lists.c:185)
==29374== by 0xA2F958C: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==29374== by 0xA3026CB: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==29374== by 0xAFB9DB3: ccsGNOMEIntegrationBackendReadOptionIntoSetting (ccs_gnome_integration.c:328)
==29374== by 0xAFB8DEA: readSetting (gsettings.c:68)
==29374== by 0xA2FF52A: ccsReadPluginSettingsDefault (main.c:3493)
==29374== by 0xA2F1A50: ccsLoadPluginSettings (compiz.cpp:3254)
==29374== by 0xA2FF65C: ccsFindSettingDefault (main.c:609)
==29374== by 0xA0CA754: CcpScreen::setOptionFromContext(CompOption*, char const*) (ccp.cpp:375)
==29374== by 0xA0CB3C6: CcpScreen::initPluginForScreen(CompPlugin*) (ccp.cpp:496)
==29374== by 0x4EB0EA3: CompScreen::initPluginForScreen(CompPlugin*) (plugin.cpp:268)
==29374==
==29374== 32 bytes in 2 blocks are definitely lost in loss record 532 of 1,293
==29374== at 0x4C2CD7B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==29374== by 0xA2F8495: ccsIntegratedSettingListAppend (lists.c:185)
==29374== by 0xA2F958C: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate (main.c:5811)
==29374== by 0xA3026CB: ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSettingName (main.c:5830)
==29374== by 0xAFB9E10: ccsGNOMEIntegrationBackendReadOptionIntoSetting (ccs_gnome_integration.c:334)
==29374== by 0xAFB8DEA: readSetting (gsettings.c:68)
==29374== by 0xA2FF52A: ccsReadPluginSettingsDefault (main.c:3493)
==29374== by 0xA2F1A50: ccsLoadPluginSettings (compiz.cpp:3254)
==29374== by 0xA2FF65C: ccsFindSettingDefault (main.c:609)
==29374== by 0xA0CA754: CcpScreen::setOptionFromContext(CompOption*, char const*) (ccp.cpp:375)
==29374== by 0xA0CB3C6: CcpScreen::initPluginForScreen(CompPlugin*) (ccp.cpp:496)
==29374== by 0x4EB0EA3: CompScreen::initPluginForScreen(CompPlugin*) (plugin.cpp:268)
==29374==

Related branches

Daniel van Vugt (vanvugt) wrote :

This should have been fixed in bug 1097661 but it seems we missed it.

Changed in compiz (Ubuntu):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Sam Spilsbury (smspillaz)
Changed in compiz:
status: Triaged → In Progress
Changed in compiz (Ubuntu):
status: Triaged → In Progress
Changed in compiz:
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz at revision 3566, scheduled for release in Compiz 0.9.9.0

Changed in compiz (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.9~daily13.01.21-0ubuntu1

---------------
compiz (1:0.9.9~daily13.01.21-0ubuntu1) raring; urgency=low

  [ Brandon Schaefer ]
  * Window Management - Implement maximize and semi-maximise transitions
    (LP: #689792)

  [ Sam Spilsbury ]
  * Several memory leaks in ccsIntegratedSettingListAppend() from
    ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPredicate()
    from
    ccsIntegratedSettingsStorageDefaultFindMatchingSettingsByPluginAndSe
    ttingName() (LP: #1100539)
  * Several leaks in g_settings_new() [g_object_new()] from
    ccsGSettingsNewNoPath() [ccs_gsettings_interface_wrapper.c:184] (LP:
    #1097649)
  * Compiz reports incorrect _NET_DESKTOP_GEOMETRY until first viewport
    switch (LP: #1096455)

  [ Automatic PS uploader ]
  * Automatic snapshot from revision 3569
 -- Automatic PS uploader <email address hidden> Mon, 21 Jan 2013 04:01:41 +0000

Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
Changed in compiz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers