CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2018/09/09 07:53:11
Modified files:
usr.bin/rdist : common.c defs.h expand.c
usr.bin/rdistd : server.c
Log message:
Fix a crash in rdistd triggered by the recent getpw{ent,nam,uid}
changes. This stems from rdist stashing a pointer to the static
area used by getpw{ent,nam,uid} and using it to avoid repeating
passwd lookups when pw->pw_name matches the user to be looked up.
This relied on undefined behavior, and with the recent passwd
changes, is no longer possible as the old pointer will be invalidated.
A better approach is to use the upcoming uid_from_user(3) functions.
Found by and fix OK tim@