array out of bounds checking results

Marcus Meissner marcus at jet.franken.de
Sat Jan 20 06:18:34 CST 2007


Hi,

Yesterdays TRUNK gcc features array overflow checking... I have
run it against WINE and found 3 index overflows.

arb_program_shader.c:950: Warnung: array subscript is above array bounds
	This is the place in C:
	    } else if(GL_SUPPORT(GL_VERTEX_PROGRAM_ARB)) {

	and in preprocessed:
	    } else if(((*gl_info).supported[0x8620] != 0)) {

	The supported array is way smaller than that.

	Likely a typo.

winaspi32.c:239: Warnung: array subscript is above array bounds
winaspi32.c:239: Warnung: array subscript is above array bounds
	This is this part:
	if (rqbuf[15]&0x8) {
          TRACE("Pointer at %d, bit %d\n",rqbuf[16]*256+rqbuf[17],rqbuf[15]&0x7);
        }

	rqbuf points to SenseArea which is only 16 byte.
	I am unclear what exactly is meant to be done here. We only ever copy
	16 Byte into this array anyway.

Ciao, Marcus



More information about the wine-devel mailing list