Page MenuHomeFreeBSD

D38842.1774805299.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D38842.1774805299.diff

diff --git a/sys/dev/mpr/mpr_user.c b/sys/dev/mpr/mpr_user.c
--- a/sys/dev/mpr/mpr_user.c
+++ b/sys/dev/mpr/mpr_user.c
@@ -863,7 +863,7 @@
}
mpr_unlock(sc);
copyout(cm->cm_reply, PTRIN(data->PtrReply),
- data->ReplySize);
+ MIN(sz, data->ReplySize));
mpr_lock(sc);
}
mprsas_free_tm(sc, cm);
@@ -1087,7 +1087,8 @@
data->ReplySize, sz);
}
mpr_unlock(sc);
- copyout(cm->cm_reply, PTRIN(data->PtrReply), data->ReplySize);
+ copyout(cm->cm_reply, PTRIN(data->PtrReply),
+ MIN(sz, data->ReplySize));
mpr_lock(sc);
if ((function == MPI2_FUNCTION_SCSI_IO_REQUEST) ||
@@ -2065,7 +2066,7 @@
if ((size >= sizeof(sc->recorded_events)) && (status == 0)) {
mpr_unlock(sc);
if (copyout((void *)sc->recorded_events,
- PTRIN(data->PtrEvents), size) != 0)
+ PTRIN(data->PtrEvents), sizeof(sc->recorded_events)) != 0)
status = EFAULT;
mpr_lock(sc);
} else {
diff --git a/sys/dev/mps/mps_user.c b/sys/dev/mps/mps_user.c
--- a/sys/dev/mps/mps_user.c
+++ b/sys/dev/mps/mps_user.c
@@ -862,7 +862,7 @@
}
mps_unlock(sc);
copyout(cm->cm_reply, PTRIN(data->PtrReply),
- data->ReplySize);
+ MIN(sz, data->ReplySize));
mps_lock(sc);
}
mpssas_free_tm(sc, cm);
@@ -1015,7 +1015,8 @@
data->ReplySize, sz);
}
mps_unlock(sc);
- copyout(cm->cm_reply, PTRIN(data->PtrReply), data->ReplySize);
+ copyout(cm->cm_reply, PTRIN(data->PtrReply),
+ MIN(sz, data->ReplySize));
mps_lock(sc);
if ((function == MPI2_FUNCTION_SCSI_IO_REQUEST) ||
@@ -1955,7 +1956,7 @@
if ((size >= sizeof(sc->recorded_events)) && (status == 0)) {
mps_unlock(sc);
if (copyout((void *)sc->recorded_events,
- PTRIN(data->PtrEvents), size) != 0)
+ PTRIN(data->PtrEvents), sizeof(sc->recorded_events)) != 0)
status = EFAULT;
mps_lock(sc);
} else {

File Metadata

Mime Type
text/plain
Expires
Sun, Mar 29, 5:28 PM (22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28225140
Default Alt Text
D38842.1774805299.diff (1 KB)

Event Timeline