[haiku-commits] haiku: hrev51880 - src/add-ons/kernel/busses/scsi/virtio

  • From: waddlesplash@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 11 Apr 2018 19:45:52 -0400 (EDT)

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);
 
        {


Other related posts:

  • » [haiku-commits] haiku: hrev51880 - src/add-ons/kernel/busses/scsi/virtio - waddlesplash