Ошибка шины: 10 возвращается при попытке передать символы между методами - PullRequest
0 голосов
/ 22 сентября 2018

Привет, я новичок в языке c и до конца не разбираюсь в указателях.Я пишу простой процесс аутентификации по имени пользователя и паролю для моей программы, в настоящее время он выглядит так:

void authenticate_process(int cli_sockfd){

    /* Authentication Process */
    write(cli_sockfd, "USN", 3);
    char *username;
    username = recv_msg(cli_sockfd);
    printf("[DEBUG] Client username is %s.\n", username);

    write(cli_sockfd, "PSW", 3);
    char *password;
    password = recv_msg(cli_sockfd);
    printf("[DEBUG] Client Password is %s.\n", password);

//From Here the program breaks 
    bool approval = authenticate_login(username, password);
    printf("%c", approval);
}


bool authenticate_login(char *username, char *password)
{
    printf("Made it here");

    FILE *file;
    char *file_username;
    char *file_password;
    bool match;
    printf("%s", username);
    printf("%s", password);
// BLAH BLAH BLAH MORE CODE IN THIS SECTION 

    return match;
}

Я могу получить и распечатать имя пользователя и пароль клиента в методе authenticate_process, но как только я доберусь до линииbool approval = authenticate_login(username, password); я получаю Bus Error: 10 Я верю, что это связано с тем, как я передаю символы, но я могу ошибаться.Может кто-нибудь объяснить и показать, как решить мою проблему?

...