*
* \return Positive if \a pattern was received, negative otherwise.
*
- * This function creates a buffer of size \a bufsize and tries
- * to receive at most \a bufsize bytes from file descriptor \a fd.
- * If at least \p strlen(\a pattern) bytes were received, the beginning of
- * the received buffer is compared with \a pattern, ignoring case.
+ * This function tries to receive at most \a bufsize bytes from file descriptor
+ * \a fd. If at least \p strlen(\a pattern) bytes were received, the beginning
+ * of the received buffer is compared with \a pattern, ignoring case.
*
* \sa recv_buffer(), \sa strncasecmp(3).
*/
{
size_t len = strlen(pattern);
char *buf = para_malloc(bufsize + 1);
- int ret = -E_RECV_PATTERN, n = recv_buffer(fd, buf, bufsize);
+ int ret = -E_RECV_PATTERN, n = recv_buffer(fd, buf, bufsize + 1);
if (n < len)
goto out;