Add or fix parameter checks.
svn path=/trunk/; revision=55417
TRACE("%p, %p\n", hEventLog, NumberOfRecords);
TRACE("%p, %p\n", hEventLog, NumberOfRecords);
+ if (NumberOfRecords == NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
TRACE("%p, %p\n", hEventLog, OldestRecord);
TRACE("%p, %p\n", hEventLog, OldestRecord);
+ if (OldestRecord == NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
if (lpFileName == NULL)
{
if (lpFileName == NULL)
{
- RtlInitUnicodeString(&FileNameW, NULL);
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return NULL;
+
+ if (!RtlDosPathNameToNtPathName_U(lpFileName, &FileNameW,
+ NULL, NULL))
- if (!RtlDosPathNameToNtPathName_U(lpFileName, &FileNameW,
- NULL, NULL))
- {
- SetLastError(ERROR_INVALID_PARAMETER);
- return NULL;
- }
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return NULL;
{
NTSTATUS Status;
DWORD bytesRead, minNumberOfBytesNeeded;
{
NTSTATUS Status;
DWORD bytesRead, minNumberOfBytesNeeded;
TRACE("%p, %lu, %lu, %p, %lu, %p, %p\n",
hEventLog, dwReadFlags, dwRecordOffset, lpBuffer,
nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded);
TRACE("%p, %lu, %lu, %p, %lu, %p, %p\n",
hEventLog, dwReadFlags, dwRecordOffset, lpBuffer,
nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded);
- if(!pnBytesRead || !pnMinNumberOfBytesNeeded)
+ if (lpBuffer == NULL ||
+ pnBytesRead == NULL ||
+ pnMinNumberOfBytesNeeded == NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
- /* If buffer is NULL set nNumberOfBytesToRead to 0 to prevent rpcrt4 from
- trying to access a null pointer */
- if (!lpBuffer)
+ dwFlags = dwReadFlags & (EVENTLOG_SEQUENTIAL_READ | EVENTLOG_SEEK_READ);
+ if (dwFlags == (EVENTLOG_SEQUENTIAL_READ | EVENTLOG_SEEK_READ))
- nNumberOfBytesToRead = 0;
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
+ dwFlags = dwReadFlags & (EVENTLOG_FORWARDS_READ | EVENTLOG_BACKWARDS_READ);
+ if (dwFlags == (EVENTLOG_FORWARDS_READ | EVENTLOG_BACKWARDS_READ))
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
{
NTSTATUS Status;
DWORD bytesRead, minNumberOfBytesNeeded;
{
NTSTATUS Status;
DWORD bytesRead, minNumberOfBytesNeeded;
TRACE("%p, %lu, %lu, %p, %lu, %p, %p\n",
hEventLog, dwReadFlags, dwRecordOffset, lpBuffer,
nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded);
TRACE("%p, %lu, %lu, %p, %lu, %p, %p\n",
hEventLog, dwReadFlags, dwRecordOffset, lpBuffer,
nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded);
- if(!pnBytesRead || !pnMinNumberOfBytesNeeded)
+ if (lpBuffer == NULL ||
+ pnBytesRead == NULL ||
+ pnMinNumberOfBytesNeeded == NULL)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
- /* If buffer is NULL set nNumberOfBytesToRead to 0 to prevent rpcrt4 from
- trying to access a null pointer */
- if (!lpBuffer)
+ dwFlags = dwReadFlags & (EVENTLOG_SEQUENTIAL_READ | EVENTLOG_SEEK_READ);
+ if (dwFlags == (EVENTLOG_SEQUENTIAL_READ | EVENTLOG_SEEK_READ))
- nNumberOfBytesToRead = 0;
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
+ dwFlags = dwReadFlags & (EVENTLOG_FORWARDS_READ | EVENTLOG_BACKWARDS_READ);
+ if (dwFlags == (EVENTLOG_FORWARDS_READ | EVENTLOG_BACKWARDS_READ))
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;