Resources | developer.brewmp.com Resources | developer.brewmp.com

Developer

resources

Banned APIs

Certain functions should be used to avoid buffer overruns in code. The recommended replacements are available in AEEStdLib.h and AEEStd.h.

These functions are banned because a single call to them results in vulnerability. They are often not used in a safe way.
Banned function comments Replacements for MOD (in AEEStdLib.h) Replacements for MOD1 (in AEEStd.h)
strcpy Too easy to create a buffer overrun STRLCPY std_strlcpy
strcat Too easy to create a buffer overrun STRLCAT std_strlcat
strncpy Doesn't always NULL terminate STRLCPY std_strlcpy
strncat Doesn't always NULL terminate STRLCAT std_strlcat
wstrcpy Too easy to create a buffer overrun WSTRLCPY std_wstrlcpy
wstrcat Too easy to create a buffer overrun WSTRLCAT std_wstrlcat
wstrncpy Doesn't always NULL terminate WSTRLCPY std_wstrlcpy
wstrncat Doesn't always NULL terminate WSTRLCAT std_wstrlcat
sprintf Difficult to avoid buffer overruns with complex format strings SNPRINTF std_strlprintf
vsprintf Difficult to avoid buffer overruns with complex format strings VSNPRINTF std_vstrlprintf
wsprintf Difficult to avoid buffer overruns with complex format strings WSPRINTF (it is different from wsprintf) none
gets Unsafe gets was never in BREW gets was never in CS
strtok Not re-entrant none std_strchrsend (similar functionality)
scanf Unsafe scanf was never in BREW std_scanul

Deprecated APIs

With the advent of Brew MP and lineage of prior BREW releases, certain APIs are deprecated. These deprecated APIs are superceded with newer APIs. The older APIs may still be used, though it is highly recommended that the newer APIs be used instead.

Deprecated APIs are documented in the http://developer.brewmp.com/reference/api-all.