Merge "Fix a potential memory leak" am: f583ff660e am: 6677429bff
am: 6deffe3c3b
Change-Id: Ifcd960527a5da12e136ba96062460208368aafea
diff --git a/adb/services.cpp b/adb/services.cpp
index 9605e6e..55cb6a1 100644
--- a/adb/services.cpp
+++ b/adb/services.cpp
@@ -478,11 +478,17 @@
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;