- memcpy( &p_chk->strf.vids.p_bih[1],
- p_buff + sizeof(BITMAPINFOHEADER),
- p_chk->common.i_chunk_size - sizeof(BITMAPINFOHEADER) );
+ if( p_chk->strf.vids.p_bih->biSize >
+ p_chk->common.i_chunk_size )
+ {
+ p_chk->strf.vids.p_bih->biSize = p_chk->common.i_chunk_size;
+ }
+ if( p_chk->strf.vids.p_bih->biSize - sizeof(BITMAPINFOHEADER) > 0 )
+ {
+ memcpy( &p_chk->strf.vids.p_bih[1],
+ p_buff + sizeof(BITMAPINFOHEADER),
+ p_chk->strf.vids.p_bih->biSize -
+ sizeof(BITMAPINFOHEADER) );
+ }