Merge branch 'sched'
[paraslash.git] / net.c
diff --git a/net.c b/net.c
index bf35162f77d57191403972028bb04f24415a802b..d4472c0e2805ecb898ef4caae85a96980fe6d447 100644 (file)
--- a/net.c
+++ b/net.c
@@ -189,8 +189,11 @@ int recv_buffer(int fd, char *buf, ssize_t size)
 {
        int n;
 
-       if ((n = recv_bin_buffer(fd, buf, size - 1)) >= 0)
+       n = recv_bin_buffer(fd, buf, size - 1);
+       if (n >= 0)
                buf[n] = '\0';
+       else
+               *buf = '\0';
        return n;
 }
 
@@ -514,8 +517,8 @@ int recv_pattern(int fd, const char *pattern, size_t bufsize)
                goto out;
        ret = 1;
 out:
-       free(buf);
        if (ret < 0)
-               PARA_NOTICE_LOG("did not receive pattern '%s'\n", buf);
+               PARA_NOTICE_LOG("did not receive pattern '%s'\n", pattern);
+       free(buf);
        return ret;
 }