lib/utmp.c: Fix use of last utmp entry instead of patrial-match entry #1327
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a correction for PR #1292 (and is an alternative version of PR #1326; this PR includes a full revert as the first commit.)
After additional code and documentation analysis I found out that copy of the pointer is not enough, a deep copy must be used instead.
I also checked glibc sources to be absolutely sure.
As allocation is needed for every successful match (either full or partial), I restructured the code to avoid code duplication.
I think this kind of code could be improved with additional comments, as currently it is not fully clear that match by PID has priority over match by line (tty).
Last two commits could be squashed into one commit.