diff options
author | Adrian Bunk <bunk@stusta.de> | 2005-05-01 11:59:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-01 11:59:29 -0400 |
commit | 6e3e98d1dcf944b999757b769d910f2b506ca5b9 (patch) | |
tree | a070040633da1748df638673819479ceaf7efce2 /drivers | |
parent | 408b664a7d394a5e4315fbd14aca49b042cb2b08 (diff) |
[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')
-rw-r--r-- | drivers/pnp/pnpbios/rsparser.c | 4 |
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 | |||
72 | pnpbios_parse_allocated_dmaresource(struct pnp_resource_table * res, int dma) | 72 | pnpbios_parse_allocated_dmaresource(struct pnp_resource_table * res, int dma) |
73 | { | 73 | { |
74 | int i = 0; | 74 | int i = 0; |
75 | while (!(res->dma_resource[i].flags & IORESOURCE_UNSET) && i < PNP_MAX_DMA) i++; | 75 | while (i < PNP_MAX_DMA && |
76 | !(res->dma_resource[i].flags & IORESOURCE_UNSET)) | ||
77 | i++; | ||
76 | if (i < PNP_MAX_DMA) { | 78 | if (i < PNP_MAX_DMA) { |
77 | res->dma_resource[i].flags = IORESOURCE_DMA; // Also clears _UNSET flag | 79 | res->dma_resource[i].flags = IORESOURCE_DMA; // Also clears _UNSET flag |
78 | if (dma == -1) { | 80 | if (dma == -1) { |