static char *stmt_val;
static char *stmt_ins;
..............
stmt_ins = stmt_val;
..........
sprintf(stmt_ins, "NULL,");
stmt_ins = stmt + strlen(stmt);
Вот в чем вопрос - разве sprintf выделяет память? Переменная stmt_ins была только обявлена, но память под нее не выделялась. Это исходники ulogd для подсчета трафика, скомпил запускаю а он вываливается с сементатион фаулт, посмотрел отдладчиком, он валится на этой строке:
*(stmt_ins - 1) = ')';
Но выделения памяти для stmt_ins нигде не увидел.
Ответ на:
комментарий
от DKorolkov
Ответ на:
комментарий
от tmp
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум ULOGD bug (2005)
- Форум Помогите разобраться с malloc СИ (2017)
- Форум [KERNEL] kfree!!! ошибочка.. (2011)
- Форум cgi , си atoi и getenv (2009)
- Форум Непонятная ошибка распределения памяти (2016)
- Форум Динамическое выделения памяти (2008)
- Форум [C] Выделение памяти. (2009)
- Форум Неправильное выделение памяти (2006)
- Форум размер выделенной памяти (2004)
- Форум [С/C++] Очистка данных после memcpy (2012)