Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df5ecefd authored by Elliott Hughes's avatar Elliott Hughes Committed by android-build-merger
Browse files

Merge "Fix reference to out of scope local in adb_thread_setname." am: b31ca1a6 am: 15d565bb

am: b664dd38

Change-Id: Id2d91a34d11400cdb4b601da745d64209aeb3e71
parents fb3d04b4 b664dd38
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -582,18 +582,12 @@ static __inline__ int adb_thread_setname(const std::string& name) {
#ifdef __APPLE__
    return pthread_setname_np(name.c_str());
#else
    const char *s = name.c_str();

    // pthread_setname_np fails rather than truncating long strings.
    const int max_task_comm_len = 16; // including the null terminator
    if (name.length() > (max_task_comm_len - 1)) {
        char buf[max_task_comm_len];
    // Both bionic and glibc's pthread_setname_np fails rather than truncating long strings.
    // glibc doesn't have strlcpy, so we have to fake it.
    char buf[16];  // MAX_TASK_COMM_LEN, but that's not exported by the kernel headers.
    strncpy(buf, name.c_str(), sizeof(buf) - 1);
    buf[sizeof(buf) - 1] = '\0';
        s = buf;
    }

    return pthread_setname_np(pthread_self(), s) ;
    return pthread_setname_np(pthread_self(), buf);
#endif
}