LINUX.ORG.RU

free после return


0

0

static int my_compare_function(const void *left, const void *right)
{
        char *lt = *(char **) left;
        char *rt = *(char **) right;
        char *r = strdup(rt);
        char *l = strdup(lt);
        l += pos_of_word; l[word_len] = '\0';
        r += pos_of_word; r[word_len] = '\0';
        return strcmp(l, r);
}

Будет ли free работать после return, если нет, то как найти выход в сложившейся ситуации?
★★★★★

Да. Но у тебя утечка памяти

Begemoth ★★★★★
()

сохранить результат работы strcmp, освободить память и вернуть сохраненое значение, в чем проблема?

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