check for return values!!!

This commit is contained in:
Felix Schulze 2022-01-29 16:07:55 +01:00 committed by GitHub
parent d19dc66e2a
commit 9df42871ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -91,20 +91,27 @@ int main(int argc, char *argv[]) {
printf(" You're in !\n");
passwddata->pwfailed = 0;
passwddata->pwage = passwddata->pwage + 1;
mysetpwent(user, passwddata);
if (mysetpwent(user, passwddata) < 0) { /* execute the command */
perror("Error");exit(EXIT_FAILURE);
}
if (passwddata->pwage > 100) {
printf(" Your password is OLD!!!!\n");
}
/* check UID, see setuid(2) */
setuid(passwddata->uid);
if (setuid(passwddata->uid) < 0) { /* execute the command */
perror("Error");exit(EXIT_FAILURE);
}
/* start a shell, use execve(2) */
if (execve("/bin/bash",NULL,NULL) < 0) { /* execute the command */
perror("Error");exit(EXIT_FAILURE);
}
} else {
passwddata->pwfailed = passwddata->pwfailed + 1;
mysetpwent(user, passwddata);
if (mysetpwent(user, passwddata) < 0) { /* execute the command */
perror("Error");exit(EXIT_FAILURE);
}
}
}
printf("Login Incorrect \n");