#include <errno.h>
#include <ctype.h>
#include <stdio.h>
+#include <fcntl.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
{
int c, state;
struct charbuf name, val;
+ size_t tsz;
bufinit(name);
bufinit(val);
state = 0;
+ tsz = 0;
while(1) {
c = fgetc(in);
+ if(++tsz >= 65536)
+ goto fail;
again:
if(state == 0) {
if(c == '\r') {
if((fd = recvfd(sock, &buf.b, &buf.d)) < 0) {
return(-1);
}
+ fcntl(fd, F_SETFD, FD_CLOEXEC);
buf.s = buf.d;
p = buf.b;
l = buf.d;