X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Freq.c;h=a3e727390948601f8300e63cda1e7a20c7e4e346;hb=470938bdc9149ae9c7befd0cd983f46fcc056192;hp=7bb37b443ccb9ce17798175801cd85169801bf3f;hpb=f89ce57a7d216566b30c22f8f8accc9ab0eb5c6c;p=ashd.git diff --git a/lib/req.c b/lib/req.c index 7bb37b4..a3e7273 100644 --- a/lib/req.c +++ b/lib/req.c @@ -23,6 +23,7 @@ #include #include #include +#include #ifdef HAVE_CONFIG_H #include @@ -200,7 +201,7 @@ void headrmheader(struct hthead *head, const char *name) free(head->headers[i][0]); free(head->headers[i][1]); free(head->headers[i]); - memmove(head->headers + i, head->headers + i + 1, --head->noheaders - i); + memmove(head->headers + i, head->headers + i + 1, sizeof(head->headers) * (--head->noheaders - i)); return; } } @@ -254,6 +255,7 @@ int recvreq(int sock, struct hthead **reqp) 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;