From f26cf6d52095a63f822ffc02d3b263543bdec0d9 Mon Sep 17 00:00:00 2001 From: Ting-Yuan Huang Date: Tue, 15 Aug 2017 15:07:21 -0700 Subject: [PATCH] Fix a potential memory leak Test: Built without seeing the warnings Change-Id: I934509c78482af9ef7dc447c807f6450484b4b38 --- adb/services.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/adb/services.cpp b/adb/services.cpp index 9605e6ec0..55cb6a1ed 100644 --- a/adb/services.cpp +++ b/adb/services.cpp @@ -478,11 +478,17 @@ asocket* host_service_to_socket(const char* name, const char* serial) { return nullptr; } - int fd = create_service_thread(wait_for_state, sinfo.release()); + int fd = create_service_thread(wait_for_state, sinfo.get()); + if (fd != -1) { + sinfo.release(); + } return create_local_socket(fd); } else if (!strncmp(name, "connect:", 8)) { char* host = strdup(name + 8); int fd = create_service_thread(connect_service, host); + if (fd == -1) { + free(host); + } return create_local_socket(fd); } return NULL;