Are ut_user and ut_host in struct utmp NUL-terminated?

Florian Weimer fweimer@redhat.com
Tue Aug 21 11:06:00 GMT 2018


On 08/21/2018 10:47 AM, Michael Kerrisk (man-pages) wrote:
> On 08/13/2018 02:10 PM, Florian Weimer wrote:
>> Can ut_user be exactly UT_NAMESIZE bytes long?  Or is it necessary to
>> set aside a byte with the NUL terminator?
>>
>> I'm not sure what POSIX says about struct utmpx.  It never says “string”
>> in the context of ut_user, so I don't think it clarifies this matter.
> 
> Each of the char fields in utmp/utmpx can be completely filled with
> characters. (I.e., there may not be a terminating null byte.)
> As you note, POSIX does not say much here, but perhaps the fact that
> the term "string" is not mentioned is a clue.

And indeed we already use __attribute__ ((__nonstring__)) for those.  I 
should have checked the current sources.

Thanks,
Florian



More information about the Libc-alpha mailing list