DragonFlyBSD Kernel Audit
DF-0130 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/kern/kern_fp.c b/sys/kern/kern_fp.c
--- a/sys/kern/kern_fp.c
+++ b/sys/kern/kern_fp.c
@@ -271,9 +271,8 @@
     do {
 	lastresid = auio.uio_resid;
 	error = fo_read(fp, &auio, fp->f_cred, 0);
-    } while (all && auio.uio_resid &&
-	     ((error == 0 && auio.uio_resid != lastresid) || 
-	     error == ERESTART || error == EINTR));
+    } while (all && auio.uio_resid && auio.uio_resid != lastresid &&
+	     (error == 0 || error == ERESTART || error == EINTR));
     if (all && error == 0 && auio.uio_resid)
 	error = ESPIPE;