Module: wine Branch: master Commit: 95c87562f8dd54c7964ccc229df689fa5914bd7a URL: https://gitlab.winehq.org/wine/wine/-/commit/95c87562f8dd54c7964ccc229df689f...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Nov 27 10:20:37 2023 +0100
gdi32/emf: Pad EMREXTESCAPE record data.
---
dlls/gdi32/emfdc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/gdi32/emfdc.c b/dlls/gdi32/emfdc.c index 5fc0109f78f..63110f57eeb 100644 --- a/dlls/gdi32/emfdc.c +++ b/dlls/gdi32/emfdc.c @@ -1199,8 +1199,7 @@ INT EMFDC_ExtEscape( DC_ATTR *dc_attr, INT escape, INT input_size, const char *i
if (escape == QUERYESCSUPPORT) return 0;
- size = FIELD_OFFSET( EMREXTESCAPE, EscData[input_size] ); - size = (size + 3) & ~3; + size = aligned_size(FIELD_OFFSET( EMREXTESCAPE, EscData[input_size] )); if (!(emr = HeapAlloc( GetProcessHeap(), 0, size ))) return 0;
emr->emr.iType = EMR_EXTESCAPE; @@ -1208,6 +1207,7 @@ INT EMFDC_ExtEscape( DC_ATTR *dc_attr, INT escape, INT input_size, const char *i emr->iEscape = escape; emr->cbEscData = input_size; memcpy(emr->EscData, input, input_size); + pad_record(emr->EscData, input_size); emfdc_record( get_dc_emf( dc_attr ), &emr->emr ); HeapFree( GetProcessHeap(), 0, emr ); if (output_size && output) return 0;