OPASSWD
if (unlink(OPASSWD) && access(OPASSWD, 0) == 0)
if (link(PASSWD, OPASSWD) == -1)
if (link(OPASSWD, PASSWD))
if (unlink(PASSWD) || link(OPASSWD, PASSWD))
if (unlink(OPASSWD) && (access(OPASSWD, F_OK) == 0)) {
if (rename(PASSWD, OPASSWD) == -1) {
if (link(OPASSWD, PASSWD) < 0) {
if (unlink(PASSWD) || link(OPASSWD, PASSWD)) {
if (unlink(PASSWD) || link(OPASSWD, PASSWD)) {
if (unlink(PASSWD) || link(OPASSWD, PASSWD)) {
if (chmod(OPASSWD, S_IRUSR) < 0)
(void) unlink(OPASSWD);
if (unlink(OPASSWD) && access(OPASSWD, 0) == 0) {
if (link(PASSWD, OPASSWD) == -1) {