On 09/08/2016 03:30 PM, Roberts, William C wrote:
> <snip>
> 
>>>> +  /* Append any given suffix */
>>>> +  char *to = stpcpy(&current[current_size], ".");
>>>
>>> Simpler as:
>>>     char *to = current + current_size;
>>>     *to++ = '.';
>>
>> I don't think this is simpler, but I'll do it.
> 
> Doing that as is gets us this:
> ==26050== Conditional jump or move depends on uninitialised value(s)
> ==26050==    at 0x4C2DD9A: strcat (in 
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==26050==    by 0x4E4B6D8: rolling_append (label_file.c:429)
> ==26050==    by 0x4E4B8A3: open_file (label_file.c:472)
> ==26050==    by 0x4E4BAC6: process_file (label_file.c:519)
> ==26050==    by 0x4E4BE6D: init (label_file.c:582)
> ==26050==    by 0x4E4D02B: selabel_file_init (label_file.c:965)
> ==26050==    by 0x4E481F5: selabel_open (label.c:340)
> ==26050==    by 0x4E513E0: matchpathcon_init_prefix (matchpathcon.c:322)
> ==26050==    by 0x4E51725: matchpathcon (matchpathcon.c:413)
> ==26050==    by 0x400D86: printmatchpathcon (matchpathcon.c:26)
> ==26050==    by 0x40141F: main (matchpathcon.c:196)
> 
> Because strcat() needs to fastforward to the null byte, this would need to
> change to an strcpy.

Yes, sorry - switch the strcat() to strcpy() too.  Simpler and more
efficient, and if you had to append further components, you could use
stpcpy() rather than strcpy() each time until the last one.


_______________________________________________
Seandroid-list mailing list
[email protected]
To unsubscribe, send email to [email protected].
To get help, send an email containing "help" to 
[email protected].

Reply via email to