Using Presets (Windows CE 5.0)

Send Feedback

A preset is a predetermined list of chosen filters and warnings. PREfast comes with a standard preset that can be applied to your message list.

Use the /FILTERPRESET switch to enable a filter preset for the LIST or VIEW commands. For example,

prefast /FILTERPRESET=filtername LIST

Filter presets are case sensitive.

WINPFT Preset

PREfast includes the WINPFT preset, which filters messages that might not be relevant.

The WINPFT filter preset is identical to the WSPMIN filter preset:

prefast /filterpreset=winpft view
prefast /filterpreset=winpft list 

This applies the WINPFT preset at the time of your PREfast run. The result is a log file containing all defects found during the run and a message list showing the defects not filtered out by the WINPFT preset.

The /filterpreset option limits your view to the target issues in the following section. You can omit this switch to view more errors.

Target Issues

Using the WINPFT filter preset limits your message list to the following warnings:

  • 29 - Possible buffer overrun in call to <function>.
  • 53 - Call to <function> may not zero-terminate string <variable>.
  • 56 - Call to <function> does not validate buffer size.
  • 57 - Buffer overrun due to number of characters/number of bytes mismatch in call to <function>.
  • 59 - Misuse of length parameter in call to <function>.
  • 63 - Format string mismatch.
  • 67 - Format string mismatch.
  • 201 - Buffer overrun for stack buffer <variable>.
  • 202 - Buffer overrun for stack buffer <variable> in call to <function>.
  • 205 - Stack
  • 207 - Buffer overrun in call to evil function <function>.
  • 241 - Value returned from the finally-block overrides the value returned from its corresponding try-block.
  • 243 - Return from a finally-block halts global unwind.
  • 248 - Setting a SECURITY_DESCRIPTOR's DACL to NULL will result in an unprotected object.
  • 252 - Untagged pool allocation.
  • 259 - Labeled code is unreachable.
  • 260 - Sizeof * Sizeof is almost always wrong.
  • 268 - Incorrect order of operations.
  • 276 - Cast between semantically different string types.
  • 277 - Dangerous call to CreateProcess.
  • 281 - Incorrect order of operators.
  • 282 - Incorrect operator.
  • 287 – Redundant code.
  • 288 – Incorrect operator: Mutual inclusion over && is always FALSE. Was || intended?
  • 289 – Incorrect operator.
  • 290 – Bitwise operation on logical result.
  • 291 – Bitwise operation on logical result.
  • 296 – Ill-defined for-loop.
  • 298 – Using a read-only string <pointer> as a writable string argument.
  • 299 – Explicitly comparing a bit field to a Boolean will yield unexpected results.
  • 305 – Potential mismatch between sizeof and countof quantities.
  • 306 – Incorrect call to <function> Consider using an alternate function that accepts a va_list as an argument.
  • 308 – Leaking memory.

See Also

Filtering the Message List Window

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.