⬢ DragonFlyBSD Kernel Audit
DF-3102 / fix.diff
← back to finding ↓ download raw
# DF-3102 fix: clamp read size to the bytes remaining in the block.
--- a/sys/vfs/udf/udf_vnops.c
@@ -1046,6 +1053,7 @@
 	if (*size == 0 || *size > max_size)
 		*size = max_size;
 	*size = min(*size, MAXBSIZE);
+	*size = min(*size, udfmp->bsize - (offset % udfmp->bsize));
 
 	if ((error = udf_readlblks(udfmp, sector, *size, bp))) {
 		kprintf("warning: udf_readlblks returned error %d\n", error);