Fixed a memory leak from the thread name.

Change-Id: I291c16b54b48bddf9240c8aecc7261030fae3466
diff --git a/aos/common/logging/logging_impl.cc b/aos/common/logging/logging_impl.cc
index 724d4b8..c776991 100644
--- a/aos/common/logging/logging_impl.cc
+++ b/aos/common/logging/logging_impl.cc
@@ -80,8 +80,8 @@
 
   message->level = level;
   message->source = context->source;
-  memcpy(message->name, context->name.c_str(), context->name.size());
-  message->name_length = context->name.size();
+  memcpy(message->name, context->name, context->name_size);
+  message->name_length = context->name_size;
 
   time::Time now = time::Time::Now();
   message->seconds = now.sec();
diff --git a/aos/common/logging/logging_impl.h b/aos/common/logging/logging_impl.h
index 35e24a0..367c1a1 100644
--- a/aos/common/logging/logging_impl.h
+++ b/aos/common/logging/logging_impl.h
@@ -281,8 +281,8 @@
   LogImplementation *implementation;
 
   // A name representing this task/(process and thread).
-  // strlen(name.c_str()) must be <= sizeof(LogMessage::name).
-  ::std::string name;
+  char name[sizeof(LogMessage::name)];
+  size_t name_size;
 
   // What to assign LogMessage::source to in this task/thread.
   pid_t source;
diff --git a/aos/common/logging/logging_impl_test.cc b/aos/common/logging/logging_impl_test.cc
index 8331c37..d426112 100644
--- a/aos/common/logging/logging_impl_test.cc
+++ b/aos/common/logging/logging_impl_test.cc
@@ -63,13 +63,13 @@
           static_cast<uint32_t>(log_implementation->message().source),
           static_cast<uint32_t>(context->source));
     }
-    if (log_implementation->message().name_length != context->name.size() ||
-        memcmp(log_implementation->message().name, context->name.c_str(),
-               context->name.size()) !=
+    if (log_implementation->message().name_length != context->name_size ||
+        memcmp(log_implementation->message().name, context->name,
+               context->name_size) !=
             0) {
       LOG(FATAL, "got a message from %.*s, but we're %s\n",
           static_cast<int>(log_implementation->message().name_length),
-          log_implementation->message().name, context->name.c_str());
+          log_implementation->message().name, context->name);
     }
     if (strstr(log_implementation->message().message, message.c_str())
         == NULL) {