gdi: Metafile records must be at least 3 words long.
This commit is contained in:
parent
c016509119
commit
d6d6419602
|
@ -419,11 +419,10 @@ BOOL MF_PlayMetaFile( HDC hdc, METAHEADER *mh)
|
||||||
mr = (METARECORD *)((char *)mh + offset);
|
mr = (METARECORD *)((char *)mh + offset);
|
||||||
TRACE("offset=%04x,size=%08lx\n",
|
TRACE("offset=%04x,size=%08lx\n",
|
||||||
offset, mr->rdSize);
|
offset, mr->rdSize);
|
||||||
if (!mr->rdSize) {
|
if (mr->rdSize < 3) { /* catch illegal record sizes */
|
||||||
TRACE(
|
TRACE("Entry got size %ld at offset %d, total mf length is %ld\n",
|
||||||
"Entry got size 0 at offset %d, total mf length is %ld\n",
|
mr->rdSize,offset,mh->mtSize*2);
|
||||||
offset,mh->mtSize*2);
|
break;
|
||||||
break; /* would loop endlessly otherwise */
|
|
||||||
}
|
}
|
||||||
offset += mr->rdSize * 2;
|
offset += mr->rdSize * 2;
|
||||||
PlayMetaFileRecord( hdc, ht, mr, mh->mtNoObjects );
|
PlayMetaFileRecord( hdc, ht, mr, mh->mtNoObjects );
|
||||||
|
|
Loading…
Reference in New Issue