Messages in this thread | | | Date | Thu, 7 Feb 2008 21:01:22 +0100 | From | Jens Axboe <> | Subject | Re: out-of-bounds array index |
| |
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
| |