From 9d8a0e61b8294c1d590e56cd78c0bdd3cc5c2229 Mon Sep 17 00:00:00 2001 From: Thanos Makatos Date: Wed, 24 Jun 2020 02:20:48 -0700 Subject: don't blindly trust region_hint Signed-off-by: Thanos Makatos --- lib/dma.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/dma.h') diff --git a/lib/dma.h b/lib/dma.h index 9f83ed7..3dfe318 100644 --- a/lib/dma.h +++ b/lib/dma.h @@ -139,7 +139,8 @@ dma_addr_to_sg(const dma_controller_t *dma, // Fast path: single region. if (likely(max_sg > 0 && len > 0 && - dma_addr >= region->dma_addr && dma_addr + len <= region_end)) { + dma_addr >= region->dma_addr && dma_addr + len <= region_end && + region_hint < dma->nregions)) { sg->region = region_hint; sg->offset = dma_addr - region->dma_addr; sg->length = len; -- cgit v1.1