diff --git a/debian/changelog b/debian/changelog index 2d1105d..d403ca9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,8 +6,9 @@ applauncherd (3.0.2) stable; urgency=low * Fixes: NB#296154 - reopened - proprietary headers to LGPL * Fixes: NB#299083 - apps started via invoker --type m retain applauncher's privileges on D-Bus * Fixes: NB#300255 - Non-safe applauncherd-launcher::access credential allows getting any UID/GIDs for 3rd party apps + * Fixes: NB#300267 - Memory leak at applauncherd during invoking - -- Dmitry Rozenshtein Tue, 17 Apr 2012 09:30:21 +0200 + -- Dmitry Rozenshtein Tue, 17 Apr 2012 15:30:21 +0300 applauncherd (3.0.1) stable; urgency=low diff --git a/src/launcherlib/connection.cpp b/src/launcherlib/connection.cpp index 1ddcb7f..71a6766 100644 --- a/src/launcherlib/connection.cpp +++ b/src/launcherlib/connection.cpp @@ -112,9 +112,6 @@ bool Connection::accept(AppData* appData) // Get credentials of assumed invoker creds_t ccreds = creds_getpeer(m_fd); - // Fetched peer creds will be free'd with appData->deletePeerCreds - appData->setPeerCreds(ccreds); - #if ! defined (DISABLE_VERIFICATION) // This code checks if the assumed invoker has got enough @@ -125,11 +122,15 @@ bool Connection::accept(AppData* appData) sendMsg(INVOKER_MSG_BAD_CREDS); close(); + creds_free(ccreds); return false; } #endif // ! defined (DISABLE_VERIFICATION) + // Fetched peer creds will be free'd with appData->deletePeerCreds + appData->setPeerCreds(ccreds); + #endif // defined (HAVE_CREDS) }