すみません、232の方とは別の人間なのですが、

GLubyte * bits;
GLint width,height;

width = 513;
height = 407;

bits = (GLubyte *) malloc( (width * height)*3 );

::glReadPixels( 0,0,width,height,GL_RGB,GL_UNSIGNED_BYTE, bits);

このように指定した際に、glReadPixelsのところで必ずエラーがでます。
いろいろ調べたところ、widthとheightの値がこの数値の組み合わせのときのみ起こるようです。(513,407)

実際にはこのコードは別の3Dツールのプラグインのために書いているのですが、
その3Dツールが原因以外になにか原因になりそうなことありますでしょうか?