Date: Tue, 22 Jan 2002 08:00:06 -0800 (PST) From: Maxim Konovalov <maxim@macomnet.ru> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/33771: bug in sendfile implementation if nbytes != 0 and struct sf_hdtr *hdtr->headers != NULL Message-ID: <200201221600.g0MG06E22218@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/33771; it has been noted by GNATS.
From: Maxim Konovalov <maxim@macomnet.ru>
To: Vladislav Shabanov <vs@rambler-co.ru>
Cc: freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: kern/33771: bug in sendfile implementation if nbytes != 0 and
struct sf_hdtr *hdtr->headers != NULL
Date: Tue, 22 Jan 2002 18:59:32 +0300 (MSK)
Here is a patch:
Index: uipc_syscalls.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/uipc_syscalls.c,v
retrieving revision 1.65.2.9
diff -u -r1.65.2.9 uipc_syscalls.c
--- uipc_syscalls.c 2001/07/31 10:49:39 1.65.2.9
+++ uipc_syscalls.c 2002/01/22 15:01:42
@@ -1532,10 +1532,11 @@
struct vm_page *pg;
struct writev_args nuap;
struct sf_hdtr hdtr;
- off_t off, xfsize, sbytes = 0;
+ off_t off, xfsize, hdtr_size, sbytes = 0;
int error = 0, s;
vp = NULL;
+ hdtr_size = 0;
/*
* Do argument checking. Must be a regular file in, stream
* type and connected socket out, positive offset.
@@ -1591,7 +1592,7 @@
error = writev(p, &nuap);
if (error)
goto done;
- sbytes += p->p_retval[0];
+ hdtr_size += p->p_retval[0];
}
}
@@ -1831,11 +1832,12 @@
error = writev(p, &nuap);
if (error)
goto done;
- sbytes += p->p_retval[0];
+ hdtr_size += p->p_retval[0];
}
done:
if (uap->sbytes != NULL) {
+ sbytes += hdtr_size;
copyout(&sbytes, uap->sbytes, sizeof(off_t));
}
if (vp)
--
Maxim Konovalov, MAcomnet, Internet-Intranet Dept., system engineer
phone: +7 (095) 796-9079, mailto: maxim@macomnet.ru
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201221600.g0MG06E22218>
