ステンシルバッファのステンシル値の配列はこれで確保されてるのでしょうか?

// ステンシル値格納用配列
buf_stencil = new int[xsize*ysize];
for(int i=0; i<xsize*ysize; i++){
buf_stencil[i] = 0;
}

glReadPixels(0, 0, xsize, ysize, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, buf_stencil);

//もしステンシル値1のときは・・・
if( buf_stencil[xsize*(ysize-y-1) + x]==1){ /*ステンシル値をチェック*/