/* Check user's buffer size */
if (*ReqSize > Size)
{
- /* It is correct? How it is correct to leave the enclosed SEH blocks? */
- _SEH2_YIELD(return STATUS_INFO_LENGTH_MISMATCH);
+ Status = STATUS_INFO_LENGTH_MISMATCH;
+ break;
}
/* Lock the entry */
KeLeaveCriticalRegion();
}
_SEH2_END;
+
+ if (!NT_SUCCESS(Status)) break;
}
}
_SEH2_FINALLY
}
_SEH2_END;
- return STATUS_SUCCESS;
+ return Status;
}
/* Class 17 - Information */