Ошибка сегментации: 11 при использовании вызова 'ls' - PullRequest
0 голосов
/ 24 июня 2018

Здесь я создал свой метод для имитации команды UNIX 'ls' в моей реализации оболочки UNIX в C. 9/10 раз моя оболочка будет работать отлично, а в другой раз я получаю ошибку сегментации: 11 на 'ls'команда.Мне интересно, что вызывает эту ошибку.

void lookInsideCurrentDirectory(char **parsed){
char** argv = malloc(sizeof(char*) * 100);

int counter = 0;
while(parsed[counter] != NULL){
    argv[counter] = parsed[counter];
    printf("counter: %d argv: %s\n", counter, argv[counter]);
    counter++;
}
argv[counter] = NULL;

pid_t pid = fork();
if(pid == -1){
    return;
}
else if(pid == 0){
    if(execvp(argv[0], argv) == -1){
        perror("Error: ");
    }
    exit(0);
}
else{
    printf("child\n");
    wait(NULL); 
    return;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...