Page MenuHomeFreeBSD

D18623.id52842.diff
No OneTemporary

D18623.id52842.diff

Index: sys/kern/kern_sendfile.c
===================================================================
--- sys/kern/kern_sendfile.c
+++ sys/kern/kern_sendfile.c
@@ -1007,8 +1007,18 @@
uap->nbytes, &sbytes, uap->flags, td);
fdrop(fp, td);
- if (uap->sbytes != NULL)
- copyout(&sbytes, uap->sbytes, sizeof(off_t));
+ if (uap->sbytes != NULL) {
+ int copyout_error;
+
+ copyout_error = copyout(&sbytes, uap->sbytes, sizeof(off_t));
+ /*
+ * Ensure that copyout's success doesn't mask an existing
+ * error,
+ *
+ * copyout(9) failing should be a rare occurrence.
+ */
+ error = copyout_error != 0 ? copyout_error : error;
+ }
out:
free(hdr_uio, M_IOV);

File Metadata

Mime Type
text/plain
Expires
Thu, Jul 23, 12:30 PM (16 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35402030
Default Alt Text
D18623.id52842.diff (677 B)

Event Timeline