anonymous
написал 27 апреля 2006 года в 15:34 (838 просмотров)
Ведет себя
неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.
Есть такой кусочек кода, вызывается след. образом: xstr_init(&arr, 10, 255);, где char** arr. GDB показывает, что SEGFAULT происходит в строке №30.
подскажите пожалуйста, где здесь ошибка выделения памяти, и как ее корректно исправить? спасибо.
22 void xstr_init(char*** arr, int nmemb, int slen)
23 {
24 *arr = (char **)calloc(nmemb, sizeof(char *));
25 if( *arr == NULL )
26 merror("%s(): NULL\n", __func__);
27
28 int i;
29 for(i = 0; i < nmemb; i++){
30 *arr[i] = (char *)calloc(slen, sizeof(char));
31 if( *arr[i] == NULL )
32 merror("%s(): NULL arr[%d]\n", __func__, i);
33 }
34
35
36 }
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.

Замени
на
спасибо большое. забыл про приоритетность операторов :/