virtio_scsi: avoid unbounded stack usage in ExecuteRequest().
This commit is contained in:
committed by
waddlesplash
parent
48c1ae929e
commit
4b588b36ad
@@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
#include "VirtioSCSIPrivate.h"
|
#include "VirtioSCSIPrivate.h"
|
||||||
|
|
||||||
|
#include <StackOrHeapArray.h>
|
||||||
|
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
@@ -207,7 +209,7 @@ VirtioSCSIController::ExecuteRequest(scsi_ccb *ccb)
|
|||||||
|
|
||||||
uint32 inCount = (isIn ? ccb->sg_count : 0) + 1;
|
uint32 inCount = (isIn ? ccb->sg_count : 0) + 1;
|
||||||
uint32 outCount = (isOut ? 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);
|
fRequest->FillRequest(inCount, outCount, entries);
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user