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

Bug #1100539 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
Sam Spilsbury
compiz (Ubuntu)
Fix Released
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==

Tags: leak

Related branches

Revision history for this message
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
Revision history for this message
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
Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.