Wildcards in memory violation exclusions
Memory violation exclusions can include the following special characters (all OS): ^ & ' @ { } [ ] , $ = ! - # ( ) % . + ~ _
In
Cylance
agent 1560 or later, the following additional special characters are also supported for Windows:- Asterisk (*)
- Any letter value followed by colon (C:)
In a normal wildcard, three asterisks "***" are valid and equal a single asterisk"*". However, three asterisks are not valid for exclusions because it would hide typos. For example, in the pattern "C:\***.exe", users might have wanted to type "c:\**\*.exe" but missed one "\". If "***" were treated as a single "*" it could result in different behavior than was intended.
Pattern Syntax for * Wildcard on Windows
Characters | Usage | Details |
---|---|---|
* | Excluding executables and applications | Matches zero or more characters, except the platform-specific path separator ('\' on Windows).
|
** | Excluding drives and directories. This can be used to include child directories. | Matches zero or more layers of a directory (e.g. "\**\"). Note that "**" is not just a double "*", it is a special notation. To avoid confusion, review the following rules when using this special character:
Wildcard exclusions for Memory Violations apply only to Windows at this time. |
The following are examples based on the following path. Relative paths can also be used.
C:\Application\TestApp\MyApp\program.exe
Example | Description |
---|---|
Correct Exclusions | The following is an example of a correct relative path exclusion without any wildcards:
The following would exclude program.exe as long as program.exe is located under "MyApp" child directory in C: drive:
The following would exclude any .exe extension file as long as the executable is located under "MyApp" child directory in C: drive:
The following would exclude any executable as long as the executable is located under "MyApp" child directory in C: drive:
The following would exclude program.exe as long as program.exe is located under any child directory that belongs to "TestApp" parent directory in C: drive:
The following would exclude program.exe as long as program.exe is located under \Application\TestApp\MyApp\ for any drive:
The following would exclude any .exe extension file as long as the executable is located under \Application\TestApp\MyApp\ for any drive:
The following would exclude any executable as long as the executable is located under \Application\TestApp\MyApp\ for any drive.
|
Incorrect Exclusions | The following example is incorrect because "**" is used for directories. Use a single asterisk "*" for executables:
The following example is incorrect because "**" is used for directories. There is no single asterisk "*" specifying executables to exclude:
|
Not Recommended Exclusions | The following is correct, but not recommended. It would effectively exclude anything in any directory (including child directories) under the C: drive:
The following is correct, but not recommended. It would effectively exclude anything in any directory (including child directories) in any drive:
|