Merge lp:~afrantzis/platform-api/fix-1233988-somewhat into lp:platform-api

Proposed by Alexandros Frantzis
Status: Merged
Approved by: Robert Carr
Approved revision: 163
Merged at revision: 163
Proposed branch: lp:~afrantzis/platform-api/fix-1233988-somewhat
Merge into: lp:platform-api
Diff against target: 21 lines (+5/-3)
1 file modified
src/ubuntu/mirclient/application_instance_mirclient.cpp (+5/-3)
To merge this branch: bzr merge lp:~afrantzis/platform-api/fix-1233988-somewhat
Reviewer Review Type Date Requested Status
Robert Carr (community) Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+190378@code.launchpad.net

Commit message

mirclient: Properly check for failed connections to the server

Failing to do so leads to invalid/error connections being used platform-api, leading to crashes.

Description of the change

mirclient: Properly check for failed connections to the server

Failing to do so leads to invalid/error connections being used by the platform-api, leading to crashes.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Robert Carr (robertcarr) wrote :

+1

Revision history for this message
Robert Carr (robertcarr) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/ubuntu/mirclient/application_instance_mirclient.cpp'
2--- src/ubuntu/mirclient/application_instance_mirclient.cpp 2013-06-07 20:56:22 +0000
3+++ src/ubuntu/mirclient/application_instance_mirclient.cpp 2013-10-10 14:13:21 +0000
4@@ -57,12 +57,14 @@
5 bool uamc::Instance::connect(std::string const& application_name)
6 {
7 auto mir_connection = mir_connect_sync(NULL, application_name.c_str());
8- if (mir_connection == nullptr)
9- return false;
10+
11+ // mir_connect_sync() always returns a connection object, even in case
12+ // of a failed connection. We need to release this object in all cases.
13 con = ConnectionPtr(mir_connection,
14 [](MirConnection *c)
15 {
16 mir_connection_release(c);
17 });
18- return true;
19+
20+ return mir_connection_is_valid(mir_connection);
21 }

Subscribers

People subscribed via source and target branches