[U-Boot] fat.c:707: warning: array subscript is above array bounds

David Hawkins dwh at ovro.caltech.edu
Sat Dec 13 23:51:43 CET 2008


Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
> 
> In message <20081213222225.GN15295 at game.jcrosoft.org> you wrote:
>>>  705         /* Terminate fs_type string. Writing past the end of vistart
>>>  706            is ok - it's just the buffer. */
>>>  707         vistart->fs_type[8] = '\0';
>> why not do something like this
>>
>> 	*(vistart + sizeof(volume_info)) = '\0';
> 
> Because that would be terribly wrong - sizeof(volume_info)  is  >  23
> (probably  24),  and  vistart  is a pointer volume_info, so you would
> probably write some 500+ bytes beyond the end of the buffer.

How about something in the same vein then

char *c = vistart->fstype;
c[8] = '\0';

Cheers,
Dave


More information about the U-Boot mailing list