This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Program-assigned thread names on Windows


On 28.07.2016 10:21, LRN wrote:
> On 28.07.2016 0:35, Jon Turney wrote:
>>
>> Doing a bit of testing with this patch...
>>
>> On 26/07/2016 18:15, LRN wrote:
>>> +	  named_thread = find_thread_ptid (named_thread_ptid);
>>
>> ... it seems this may return NULL (e.g. if the thread we are naming was 
>> short-lived and has already exited, or if the thread id was invalid) ...
>>
>>> +
>>> +	  thread_name = NULL;
>>> +	  thread_name_len = target_read_string (thread_name_target, &thread_name, 1025, 0);
>>> +	  if (thread_name_len > 0 && thread_name != NULL)
>>> +	    {
>>> +	      thread_name[thread_name_len - 1] = '\0';
>>> +	      if (thread_name[0] != '\0')
>>> +		{
>>> +		  xfree (named_thread->name);
>>
>> ... so this becomes a null dereference.
>>
>>> +		  named_thread->name = thread_name;
>>> +		}
>>> +	      else
>>> +		{
>>> +		  xfree (thread_name);
>>> +		}
>>
> 
> True.
> 
> The simplest fix for this is to turn the check
>> thread_name[0] != '\0'
> into
>> thread_name[0] != '\0' && named_thread != NULL
> 
> 

So, what happens now?

-- 
O< ascii ribbon - stop html email! - www.asciiribbon.org

Attachment: 0x6759BA74.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]