/* Only if user want it */
if (*CallersAddress != NULL)
{
- /* only when first frames exist */
+ /* only when first frames exist */
if (FrameCount >= 1)
{
*CallersAddress = BackTrace[0];
/* Only if user want it */
if (*CallersCaller != NULL)
{
- /* only when second frames exist */
+ /* only when second frames exist */
if (FrameCount >= 2)
{
*CallersCaller = BackTrace[1];
/* Now loop every frame */
while (RegistrationFrame != EXCEPTION_CHAIN_END)
{
+ /* Registration chain entries are never NULL */
+ ASSERT(RegistrationFrame != NULL);
+
/* Find out where it ends */
RegistrationFrameEnd = (ULONG_PTR)RegistrationFrame +
sizeof(EXCEPTION_REGISTRATION_RECORD);
RegistrationFrame,
Context,
&DispatcherContext,
- RegistrationFrame->
- Handler);
+ RegistrationFrame->Handler);
/* Check if this is a nested frame */
if (RegistrationFrame == NestedFrame)
/* Now loop every frame */
while (RegistrationFrame != EXCEPTION_CHAIN_END)
{
+ /* Registration chain entries are never NULL */
+ ASSERT(RegistrationFrame != NULL);
+
/* If this is the target */
if (RegistrationFrame == TargetFrame) ZwContinue(Context, FALSE);
RegistrationFrame,
Context,
&DispatcherContext,
- RegistrationFrame->
- Handler);
+ RegistrationFrame->Handler);
switch(Disposition)
{
/* Continue searching */