Re: out-of-bounds array index

From: Jens Axboe
Date: Thu Feb 07 2008 - 15:01:39 EST


On Thu, Feb 07 2008, Jesse Barnes wrote:
> On Thursday, February 07, 2008 11:21 am Jan Engelhardt wrote:
> > On Feb 7 2008 19:56, Jens Axboe wrote:
> > >Just saw this from gcc:
> > >
> > >drivers/char/drm/i915_drv.c: In function ?i915_suspend?:
> > >drivers/char/drm/i915_drv.c:173: warning: array subscript is above array
> > >bounds
> > > CC [M] drivers/char/drm/i915_dma.o
> > >drivers/char/drm/i915_drv.c: In function ?i915_resume?:
> > >drivers/char/drm/i915_drv.c:220: warning: array subscript is above array
> > >bounds
> > >
> > >It's this code:
> > >
> > > dev_priv->saveGR[0x18] =
> > > i915_read_indexed(VGA_GR_INDEX, VGA_GR_DATA, 0x18);
> > >
> > >which looks legit, since saveGR is
> >
> > It is not legit at all. 0x18 is the 25th position in the array,
> > but it is only 24 big. (Excluding play-hide-and-seek games like
> > allocating more in case of malloc or char *foo[0].)
>
> I think he was saying that the warning was legit. Anyway, my gcc isn't smart
> enough to emit warnings like this, maybe it's time to ugprade...

of course, the reference was to the warning (I do know C and array
indexing 101 :-)

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/