diff --git a/fanout.c b/fanout.c
index e5eb7236c5060e479af599bfe6faa07b83e23344..668863824d515dab95db83c0444c3aa36a9e2046 100644
--- a/fanout.c
+++ b/fanout.c
@@ -158,7 +158,7 @@ int main (int argc, char *argv[])
     socklen_t optlen = sizeof(optval);
     u_int listen_backlog = 25;
     u_int max_events = 25;
-    char *pidfilename;
+    char *pidfilename = NULL;
     server_start_time = (long)time (NULL);
     char buffer[1025];
 
@@ -545,8 +545,15 @@ xit\n");
                 if (client_limit > 0 && current_count >= client_limit) {
                     fanout_debug (1, "hit connection limit of: %d\n",
                                    client_limit);
-                    send (client_i->fd, "debug!busy\n",
+
+                    errno = 0;
+                    ssize_t sentout = send (client_i->fd, "debug!busy\n",
                            strlen ("debug!busy\n"), 0);
+
+                    if ((sentout == -1) && errno) {
+                        fanout_debug (0, "%s\n", strerror (errno));
+                    }
+
                     close (client_i->fd);
                     free (client_i);
                     if (client_limit_count == ULLONG_MAX) {
@@ -610,6 +617,7 @@ resetting counter\n");
                                        client_i->fd);
                         memset (buffer, 0, sizeof (buffer));
                         res = recv (client_i->fd, buffer, 1024, 0);
+                        buffer[1024] = '\0';
                         if (res <= 0) {
                             fanout_debug (2, "client socket disconnected\n");