[runtime] Fix reading past the end of a string when setting the native thread name.
authorZoltan Varga <vargaz@gmail.com>
Fri, 29 Aug 2014 23:29:48 +0000 (19:29 -0400)
committerZoltan Varga <vargaz@gmail.com>
Fri, 29 Aug 2014 23:29:48 +0000 (19:29 -0400)
mono/metadata/threads.c

index 67df295370b4690937b2805267309468881fe376..a0e5f8469d6d1d5e7154b9b9f7ecd30d1b52995d 100644 (file)
@@ -651,7 +651,7 @@ static guint32 WINAPI start_wrapper_internal(void *data)
 
        /* if the name was set before starting, we didn't invoke the profiler callback */
        if (internal->name && (internal->flags & MONO_THREAD_FLAG_NAME_SET)) {
-               char *tname = g_utf16_to_utf8 (internal->name, -1, NULL, NULL, NULL);
+               char *tname = g_utf16_to_utf8 (internal->name, internal->name_len, NULL, NULL, NULL);
                mono_profiler_thread_name (internal->tid, tname);
                g_free (tname);
        }