- msg_len = GET_32BIT(buf);
- if (msg_len > 256 * 1024)
- fatal("Received message too long %d", msg_len);
-
- while (msg_len) {
- len = atomicio(read, fd, buf, MIN(msg_len, sizeof(buf)));
- if (len == 0)
- fatal("Connection closed");
- else if (len == -1)
- fatal("Couldn't read packet: %s", strerror(errno));
+ msg_len = buffer_get_int(m);
+ if (msg_len > MAX_MSG_LENGTH)
+ fatal("Received message too long %u", msg_len);