mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[NTOSKRNL] Properly copy backtracking buffer content on realloc
CORE-15902
This commit is contained in:
parent
21d2c70bb4
commit
8bc9935fcb
2 changed files with 22 additions and 22 deletions
|
@ -305,21 +305,21 @@ FsRtlIsDbcsInExpression(IN PANSI_STRING Expression,
|
|||
goto Exit;
|
||||
}
|
||||
|
||||
/* Backtracking is at the start of the buffer */
|
||||
BackTracking = AllocatedBuffer;
|
||||
|
||||
/* Copy BackTrackingBuffer content */
|
||||
RtlCopyMemory(BackTracking,
|
||||
BackTrackingBuffer,
|
||||
/* Copy BackTracking content. Note that it can point to either BackTrackingBuffer or OldBackTrackingBuffer */
|
||||
RtlCopyMemory(AllocatedBuffer,
|
||||
BackTracking,
|
||||
RTL_NUMBER_OF(BackTrackingBuffer) * sizeof(USHORT));
|
||||
|
||||
/* OldBackTracking is after BackTracking */
|
||||
OldBackTracking = &BackTracking[BackTrackingBufferSize];
|
||||
/* Place current Backtracking is at the start of the new buffer */
|
||||
BackTracking = AllocatedBuffer;
|
||||
|
||||
/* Copy OldBackTrackingBuffer content */
|
||||
RtlCopyMemory(OldBackTracking,
|
||||
OldBackTrackingBuffer,
|
||||
/* Copy OldBackTracking content */
|
||||
RtlCopyMemory(&BackTracking[BackTrackingBufferSize],
|
||||
OldBackTracking,
|
||||
RTL_NUMBER_OF(OldBackTrackingBuffer) * sizeof(USHORT));
|
||||
|
||||
/* Place current OldBackTracking after current BackTracking in the buffer */
|
||||
OldBackTracking = &BackTracking[BackTrackingBufferSize];
|
||||
}
|
||||
|
||||
/* If lead byte present */
|
||||
|
|
|
@ -157,21 +157,21 @@ FsRtlIsNameInExpressionPrivate(IN PUNICODE_STRING Expression,
|
|||
goto Exit;
|
||||
}
|
||||
|
||||
/* Backtracking is at the start of the buffer */
|
||||
BackTracking = AllocatedBuffer;
|
||||
|
||||
/* Copy BackTrackingBuffer content */
|
||||
RtlCopyMemory(BackTracking,
|
||||
BackTrackingBuffer,
|
||||
/* Copy BackTracking content. Note that it can point to either BackTrackingBuffer or OldBackTrackingBuffer */
|
||||
RtlCopyMemory(AllocatedBuffer,
|
||||
BackTracking,
|
||||
RTL_NUMBER_OF(BackTrackingBuffer) * sizeof(USHORT));
|
||||
|
||||
/* OldBackTracking is after BackTracking */
|
||||
OldBackTracking = &BackTracking[BackTrackingBufferSize];
|
||||
/* Place current Backtracking is at the start of the new buffer */
|
||||
BackTracking = AllocatedBuffer;
|
||||
|
||||
/* Copy OldBackTrackingBuffer content */
|
||||
RtlCopyMemory(OldBackTracking,
|
||||
OldBackTrackingBuffer,
|
||||
/* Copy OldBackTracking content */
|
||||
RtlCopyMemory(&BackTracking[BackTrackingBufferSize],
|
||||
OldBackTracking,
|
||||
RTL_NUMBER_OF(OldBackTrackingBuffer) * sizeof(USHORT));
|
||||
|
||||
/* Place current OldBackTracking after current BackTracking in the buffer */
|
||||
OldBackTracking = &BackTracking[BackTrackingBufferSize];
|
||||
}
|
||||
|
||||
/* Basic check to test if chars are equal */
|
||||
|
|
Loading…
Reference in a new issue