summaryrefslogtreecommitdiffstats
path: root/drivers/pnp
diff options
context:
space:
mode:
authorAdrian Bunk <bunk@stusta.de>2005-05-01 08:59:29 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-01 08:59:29 -0700
commit6e3e98d1dcf944b999757b769d910f2b506ca5b9 (patch)
treea070040633da1748df638673819479ceaf7efce2 /drivers/pnp
parent408b664a7d394a5e4315fbd14aca49b042cb2b08 (diff)
downloadlinux-6e3e98d1dcf944b999757b769d910f2b506ca5b9.tar.gz
linux-6e3e98d1dcf944b999757b769d910f2b506ca5b9.tar.bz2
linux-6e3e98d1dcf944b999757b769d910f2b506ca5b9.zip
[PATCH] drivers/pnp/pnpbios/rsparser.c: fix an array overflow
This patch fixes an array overflow found by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pnp')
-rw-r--r--drivers/pnp/pnpbios/rsparser.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pnp/pnpbios/rsparser.c b/drivers/pnp/pnpbios/rsparser.c
index 618ac15a9e90..79bce7b75740 100644
--- a/drivers/pnp/pnpbios/rsparser.c
+++ b/drivers/pnp/pnpbios/rsparser.c
@@ -72,7 +72,9 @@ static void
pnpbios_parse_allocated_dmaresource(struct pnp_resource_table * res, int dma)
{
int i = 0;
- while (!(res->dma_resource[i].flags & IORESOURCE_UNSET) && i < PNP_MAX_DMA) i++;
+ while (i < PNP_MAX_DMA &&
+ !(res->dma_resource[i].flags & IORESOURCE_UNSET))
+ i++;
if (i < PNP_MAX_DMA) {
res->dma_resource[i].flags = IORESOURCE_DMA; // Also clears _UNSET flag
if (dma == -1) {