From cb2449f851eed55770a1621d0f9f880bed9ada68 Mon Sep 17 00:00:00 2001 From: George Burgess IV Date: Sat, 17 Feb 2018 21:43:55 -0800 Subject: [PATCH] Fix a memory leak If create_service_thread fails, we'll leak `arg`. This fixes a static analyzer complaint: system/core/adb/services.cpp:298:13: warning: Potential leak of memory pointed to by 'arg' Bug: None Test: Reran the static analyzer. No more complaints about this leak. Change-Id: I5aec7fd78f2cc775b650501b02bdf0039d1647ca --- adb/services.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/adb/services.cpp b/adb/services.cpp index 6dc71cfc4..fe74eb6e4 100644 --- a/adb/services.cpp +++ b/adb/services.cpp @@ -296,6 +296,7 @@ int service_to_fd(const char* name, const atransport* transport) { void* arg = strdup(name + 7); if (arg == NULL) return -1; ret = create_service_thread("reboot", reboot_service, arg); + if (ret < 0) free(arg); } else if(!strncmp(name, "root:", 5)) { ret = create_service_thread("root", restart_root_service, nullptr); } else if(!strncmp(name, "unroot:", 7)) {