Здравствуйте!
Под xinetd работает сервис, код которого выглядит так:
int main(int argc, char **argv) { const int auth_len = 33; char user[auth_len], pass[auth_len]; bzero(user, auth_len); bzero(pass, auth_len); fread(user, auth_len-1, 1, stdin); fread(pass, auth_len-1, 1, stdin);
if (auth_pam_userpass(user, pass)) puts("ok"); else puts("cancel");
return 0; }
Возможно ли ему на stdin подать что-нибудь, что приведет к переполнению буфера последующим проблемам?