Aug. 16, 2023
2:32 p.m.
Esme Povirk (@madewokherd) commented about dlls/gdiplus/pathiterator.c:
return InvalidParameter;
- return NotImplemented; + count = iter->subpath_pos; + i = iter->pathtype_pos; + if (i >= count) { + *result = 0; + return Ok; + } + + /* set starting point to first PathPointTypeStart and */ + if ((iter->pathdata.Types[i] & PathPointTypePathTypeMask) == PathPointTypeStart) { + *start = i; + i++; + *end = i; + *type = iter->pathdata.Types[i] & PathPointTypePathTypeMask;
I'm not sure, but I think this could access pathdata out of range if the path ends with PathPointTypeStart. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3581#note_42516