hrev51880 adds 1 changeset to branch 'master'
old head: 48c1ae929e6eda55b2ef8ce1841d91c1d4581a87
new head: 4b588b36ad5508fd2aeeaa8481efd59bb111241b
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=4b588b36ad55+%5E48c1ae929e6e
----------------------------------------------------------------------------
4b588b36ad55: virtio_scsi: avoid unbounded stack usage in ExecuteRequest().
[ Jérôme Duval <jerome.duval@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev51880
Commit: 4b588b36ad5508fd2aeeaa8481efd59bb111241b
URL: http://cgit.haiku-os.org/haiku/commit/?id=4b588b36ad55
Author: Jérôme Duval <jerome.duval@xxxxxxxxx>
Date: Sat Apr 7 09:55:03 2018 UTC
Committer: waddlesplash <waddlesplash@xxxxxxxxx>
Commit-Date: Wed Apr 11 23:45:50 2018 UTC
----------------------------------------------------------------------------
1 file changed, 3 insertions(+), 1 deletion(-)
src/add-ons/kernel/busses/scsi/virtio/VirtioSCSIController.cpp | 4 +++-
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/busses/scsi/virtio/VirtioSCSIController.cpp
b/src/add-ons/kernel/busses/scsi/virtio/VirtioSCSIController.cpp
index 9cc5edceb2..ca77bee80f 100644
--- a/src/add-ons/kernel/busses/scsi/virtio/VirtioSCSIController.cpp
+++ b/src/add-ons/kernel/busses/scsi/virtio/VirtioSCSIController.cpp
@@ -6,6 +6,8 @@
#include "VirtioSCSIPrivate.h"
+#include <StackOrHeapArray.h>
+
#include <new>
#include <stdlib.h>
#include <strings.h>
@@ -207,7 +209,7 @@ VirtioSCSIController::ExecuteRequest(scsi_ccb *ccb)
uint32 inCount = (isIn ? ccb->sg_count : 0) + 1;
uint32 outCount = (isOut ? ccb->sg_count : 0) + 1;
- physical_entry entries[inCount + outCount];
+ BStackOrHeapArray<physical_entry, 16> entries(inCount + outCount);
fRequest->FillRequest(inCount, outCount, entries);
{