mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 13:34:53 +00:00
[SDK] Fix the implementation of the FsRtlIsAnsiCharacter* macros.
These macros should be implemented using the FsRtlTestAnsiCharacter() macro that performs extended tests, especially for buffer overruns. This fixes FsRtlIsAnsiCharacterWild(), FsRtlIsAnsiCharacterLegalFat(), FsRtlIsAnsiCharacterLegalHpfs(), FsRtlIsAnsiCharacterLegalNtfs(). CORE-14067
This commit is contained in:
parent
e217e926e1
commit
a2f9762020
|
@ -1606,19 +1606,16 @@ extern const UCHAR * const *FsRtlLegalAnsiCharacterArray;
|
|||
#endif
|
||||
|
||||
#define FsRtlIsAnsiCharacterWild(C) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], FSRTL_WILD_CHARACTER)
|
||||
FsRtlTestAnsiCharacter((C), FALSE, FALSE, FSRTL_WILD_CHARACTER)
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalFat(C, WILD) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_FAT_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 ))
|
||||
FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_FAT_LEGAL)
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalHpfs(C, WILD) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_HPFS_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 ))
|
||||
FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_HPFS_LEGAL)
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalNtfs(C, WILD) \
|
||||
FlagOn(LEGAL_ANSI_CHARACTER_ARRAY[(UCHAR)(C)], (FSRTL_NTFS_LEGAL) | \
|
||||
((WILD) ? FSRTL_WILD_CHARACTER : 0 ))
|
||||
FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_NTFS_LEGAL)
|
||||
|
||||
#define FsRtlIsAnsiCharacterLegalNtfsStream(C,WILD_OK) \
|
||||
FsRtlTestAnsiCharacter((C), TRUE, (WILD_OK), FSRTL_NTFS_STREAM_LEGAL)
|
||||
|
|
Loading…
Reference in a new issue