From 437053282dbaf4514081ddccd56cdf68410c85fa Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Sat, 2 Dec 2023 20:32:45 -0600 Subject: bsps/xnandpsu: Constrain block erasure to device The XNandPsu_EraseBlock function takes a target device and a block offset for erasure. Ensure the block offset is within the size of the target device. --- bsps/shared/dev/nand/xnandpsu.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bsps/shared') diff --git a/bsps/shared/dev/nand/xnandpsu.c b/bsps/shared/dev/nand/xnandpsu.c index db4e625e5a..65c58b7e9b 100644 --- a/bsps/shared/dev/nand/xnandpsu.c +++ b/bsps/shared/dev/nand/xnandpsu.c @@ -2193,7 +2193,11 @@ s32 XNandPsu_EraseBlock(XNandPsu *InstancePtr, u32 Target, u32 Block) Xil_AssertNonvoid(InstancePtr != NULL); Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY); Xil_AssertNonvoid(Target < XNANDPSU_MAX_TARGETS); +#ifdef __rtems__ + Xil_AssertNonvoid(Block < InstancePtr->Geometry.NumTargetBlocks); +#else Xil_AssertNonvoid(Block < InstancePtr->Geometry.NumBlocks); +#endif s32 Status = XST_FAILURE; u32 Page; -- cgit v1.2.3