NtCreateJobObject() should create the handle instead of just returning a uninitialized variable Modified: trunk/reactos/ntoskrnl/ps/job.c _____
Modified: trunk/reactos/ntoskrnl/ps/job.c --- trunk/reactos/ntoskrnl/ps/job.c 2005-01-21 21:37:32 UTC (rev 13196) +++ trunk/reactos/ntoskrnl/ps/job.c 2005-01-21 22:25:54 UTC (rev 13197) @@ -262,19 +262,28 @@
InsertTailList(&PsJobListHead, &Job->JobLinks); ExReleaseFastMutex(&PsJobListLock);
- /* pass the handle back to the caller */ - _SEH_TRY + Status = ObInsertObject(Job, + NULL, + DesiredAccess, + 0, + NULL, + &hJob); + if(NT_SUCCESS(Status)) { - /* NOTE: if the caller passed invalid buffers to receive the handle it's his - own fault! the object will still be created and live... It's possible - to find the handle using ObFindHandleForObject()! */ - *JobHandle = hJob; + /* pass the handle back to the caller */ + _SEH_TRY + { + /* NOTE: if the caller passed invalid buffers to receive the handle it's his + own fault! the object will still be created and live... It's possible + to find the handle using ObFindHandleForObject()! */ + *JobHandle = hJob; + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; } - _SEH_HANDLE - { - Status = _SEH_GetExceptionCode(); - } - _SEH_END; }
return Status;