winspool: Correct the padding calculation when there is no buffer.

This commit is contained in:
Huw Davies 2012-04-03 11:43:39 +01:00 committed by Alexandre Julliard
parent 25f9d6e33e
commit fa00fce684
1 changed files with 2 additions and 2 deletions

View File

@ -7299,7 +7299,7 @@ static BOOL get_job_info_2(job_t *job, JOB_INFO_2W *ji2, LPBYTE buf, DWORD cbBuf
else else
{ {
/* align DEVMODE to a DWORD boundary */ /* align DEVMODE to a DWORD boundary */
shift= (4 - ( (DWORD_PTR) ptr & 3)) & 3; shift = (4 - (*pcbNeeded & 3)) & 3;
size += shift; size += shift;
if (size <= left) if (size <= left)
@ -7308,7 +7308,7 @@ static BOOL get_job_info_2(job_t *job, JOB_INFO_2W *ji2, LPBYTE buf, DWORD cbBuf
memcpy(ptr, devmode, size-shift); memcpy(ptr, devmode, size-shift);
ji2->pDevMode = (LPDEVMODEW)ptr; ji2->pDevMode = (LPDEVMODEW)ptr;
if (!unicode) HeapFree(GetProcessHeap(), 0, dmA); if (!unicode) HeapFree(GetProcessHeap(), 0, dmA);
ptr += size; ptr += size-shift;
left -= size; left -= size;
} }
else else