X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fpacket_send.c;h=2caacd2b271f1225db9f27f32bc6bc56450a2f8e;hb=d4ead7075692a4abdc487fcb422cb9fd5b41a596;hp=9e6fa1337c021cc4c3e916e14df6ea80319fa162;hpb=f38b21315fc72df3914664227ebcece766f01f66;p=silc.git diff --git a/apps/silcd/packet_send.c b/apps/silcd/packet_send.c index 9e6fa133..2caacd2b 100644 --- a/apps/silcd/packet_send.c +++ b/apps/silcd/packet_send.c @@ -319,6 +319,8 @@ void silc_server_packet_send_to_channel(SilcServer server, routed = silc_calloc(silc_hash_table_count(channel->user_list), sizeof(*routed)); + if (!routed) + goto out; /* Send the message to clients on the channel's client list. */ silc_hash_table_list(channel->user_list, &htl); @@ -528,8 +530,15 @@ void silc_server_packet_relay_to_channel(SilcServer server, } } + if (!silc_hash_table_count(channel->user_list)) { + SILC_LOG_DEBUG(("Channel %s is empty", channel->channel_name)); + return; + } + routed = silc_calloc(silc_hash_table_count(channel->user_list), sizeof(*routed)); + if (!routed) + return; /* Assure we won't route the message back to the sender's way. */ if (sender_entry->router)