- rv=recvfrom(st->fd, st->rbuf->start, st->rbuf->len, 0,
- (struct sockaddr *)&from, &fromlen);
+ buffer_init(st->rbuf,calculate_max_start_pad());
+ rv=recvfrom(st->fd, st->rbuf->start,
+ buf_remaining_space(st->rbuf),
+ 0, (struct sockaddr *)&from, &fromlen);