mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 09:34:18 +00:00
docs: Add the list of banned/use with caution APIs
Credit to sam.ellis@arm.com for the input to create the list. Change-Id: Id70a8eddc5f2490811bebb278482c61950f10cce Signed-off-by: Soby Mathew <soby.mathew@arm.com>
This commit is contained in:
parent
b73d296d74
commit
140c8311f7
1 changed files with 35 additions and 0 deletions
|
@ -263,6 +263,41 @@ a warning for this.
|
|||
|
||||
Existing typedefs will be retained for compatibility.
|
||||
|
||||
Libc functions that are banned or to be used with caution
|
||||
---------------------------------------------------------
|
||||
|
||||
Below is a list of functions that present security risks and either must not be
|
||||
used (Banned) or are discouraged from use and must be used with care (Caution).
|
||||
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
| libc function | Status | Comments |
|
||||
+========================+===========+======================================+
|
||||
| ``strcpy, wcscpy`` | Banned | use strlcpy instead |
|
||||
| ``strncpy`` | | |
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
| ``strcat, wcscat`` | Banned | use strlcat instead |
|
||||
| ``strncat`` | | |
|
||||
+----------------------- +-----------+--------------------------------------+
|
||||
| ``sprintf, vsprintf`` | Banned | use snprintf, vsnprintf |
|
||||
| | | instead |
|
||||
+---------------------- -+-----------+--------------------------------------+
|
||||
| ``snprintf`` | Caution | ensure result fits in buffer |
|
||||
| | | i.e : snprintf(buf,size...) < size |
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
| ``vsnprintf`` | Caution | inspect va_list match types |
|
||||
| | | specified in format string |
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
| ``strtok`` | Banned | use strtok_r or strsep instead |
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
| ``strtok_r, strsep`` | Caution | inspect for terminated input buffer |
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
| ``ato*`` | Banned | use equivalent strto* functions |
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
| ``*toa`` | Banned | Use snprintf instead |
|
||||
+------------------------+-----------+--------------------------------------+
|
||||
|
||||
The `libc` component in the codebase will not add support for the banned APIs.
|
||||
|
||||
Error handling and robustness
|
||||
-----------------------------
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue