[SCHEDSVC]

Avoid JOBs overrunning in LoadJobs().
- Define JOB_NAME_LENGTH and use it instead of hardcoded values.
Based on a patch by Victor Martinez Calvo.
CORE-13389

svn path=/trunk/; revision=74944
This commit is contained in:
Eric Kohl 2017-06-07 17:45:05 +00:00
parent 3e87295366
commit 5ec31693b0
2 changed files with 6 additions and 4 deletions

View file

@ -41,7 +41,7 @@ GetJobName(
HKEY hJobsKey,
PWSTR pszJobName)
{
WCHAR szNameBuffer[9];
WCHAR szNameBuffer[JOB_NAME_LENGTH];
FILETIME SystemTime;
ULONG ulSeed, ulValue;
HKEY hKey;
@ -179,7 +179,7 @@ LONG
LoadJobs(VOID)
{
SCHEDULE Schedule;
WCHAR szNameBuffer[32];
WCHAR szNameBuffer[JOB_NAME_LENGTH];
DWORD dwNameLength, dwIndex, dwSize;
HKEY hJobsKey = NULL, hJobKey = NULL;
PJOB pJob = NULL;
@ -201,7 +201,7 @@ LoadJobs(VOID)
for (dwIndex = 0; dwIndex < 1000; dwIndex++)
{
dwNameLength = 32;
dwNameLength = JOB_NAME_LENGTH;
lError = RegEnumKeyEx(hJobsKey,
dwIndex,
szNameBuffer,

View file

@ -18,6 +18,8 @@
#include <wine/debug.h>
#define JOB_NAME_LENGTH 9
NTSYSAPI
ULONG
NTAPI
@ -30,7 +32,7 @@ typedef struct _JOB
LIST_ENTRY StartEntry;
ULARGE_INTEGER StartTime;
WCHAR Name[9];
WCHAR Name[JOB_NAME_LENGTH];
DWORD JobId;
DWORD_PTR JobTime;