LINUX.ORG.RU

sprintf и выделение памяти


0

0

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 нигде не увидел.


Найди автора этого кода и выдай ему с ноги для профилактики.

Rubbish
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.