Also, make recv_buffer() write a zero even if the underlying recv_bin_buffer()
failed.
{
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;
}
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;
}