Static analyzer bug fixes
[silc.git] / apps / silcd / packet_send.c
index 9e6fa1337c021cc4c3e916e14df6ea80319fa162..2caacd2b271f1225db9f27f32bc6bc56450a2f8e 100644 (file)
@@ -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)