while ((entry = silc_dlist_get(list)) != SILC_LIST_END) {
silc_free(entry->channel_name);
silc_free(entry->channel_id);
- silc_free(entry);
silc_dlist_del(list, entry);
+ silc_free(entry);
}
silc_dlist_uninit(list);
if (ret == -1)
goto err;
- if (new->data_len < 1 || new->data_len > buffer.len) {
+ if (new->data_len > buffer.len) {
SILC_LOG_ERROR(("Incorrect channel message payload in packet, "
"packet dropped"));
goto err;