13d58139fSopenharmony_ci# libboundscheck
23d58139fSopenharmony_ci
33d58139fSopenharmony_ci#### Description
43d58139fSopenharmony_ci
53d58139fSopenharmony_ci- following the standard of C11 Annex K (bound-checking interfaces), functions of the common memory/string operation classes, such as memcpy_s, strcpy_s, are selected and implemented.
63d58139fSopenharmony_ci
73d58139fSopenharmony_ci- other standard functions in C11 Annex K will be analyzed in the future and implemented in this organization if necessary.
83d58139fSopenharmony_ci
93d58139fSopenharmony_ci- handles the release, update, and maintenance of bounds_checking_function.
103d58139fSopenharmony_ci
113d58139fSopenharmony_ci#### Function List
123d58139fSopenharmony_ci
133d58139fSopenharmony_ci- memcpy_s
143d58139fSopenharmony_ci- wmemcpy_s
153d58139fSopenharmony_ci- memmove_s
163d58139fSopenharmony_ci- wmemmove_s
173d58139fSopenharmony_ci- memset_s
183d58139fSopenharmony_ci- strcpy_s
193d58139fSopenharmony_ci- wcscpy_s
203d58139fSopenharmony_ci- strncpy_s
213d58139fSopenharmony_ci- wcsncpy_s
223d58139fSopenharmony_ci- strcat_s
233d58139fSopenharmony_ci- wcscat_s
243d58139fSopenharmony_ci- strncat_s
253d58139fSopenharmony_ci- wcsncat_s
263d58139fSopenharmony_ci- strtok_s
273d58139fSopenharmony_ci- wcstok_s
283d58139fSopenharmony_ci- sprintf_s
293d58139fSopenharmony_ci- swprintf_s
303d58139fSopenharmony_ci- vsprintf_s
313d58139fSopenharmony_ci- vswprintf_s
323d58139fSopenharmony_ci- snprintf_s
333d58139fSopenharmony_ci- vsnprintf_s
343d58139fSopenharmony_ci- scanf_s
353d58139fSopenharmony_ci- wscanf_s
363d58139fSopenharmony_ci- vscanf_s
373d58139fSopenharmony_ci- vwscanf_s
383d58139fSopenharmony_ci- fscanf_s
393d58139fSopenharmony_ci- fwscanf_s
403d58139fSopenharmony_ci- vfscanf_s
413d58139fSopenharmony_ci- vfwscanf_s
423d58139fSopenharmony_ci- sscanf_s
433d58139fSopenharmony_ci- swscanf_s
443d58139fSopenharmony_ci- vsscanf_s
453d58139fSopenharmony_ci- vswscanf_s
463d58139fSopenharmony_ci- gets_s
473d58139fSopenharmony_ci
483d58139fSopenharmony_ci
493d58139fSopenharmony_ci#### Build
503d58139fSopenharmony_ci
513d58139fSopenharmony_ci```
523d58139fSopenharmony_ciCC=gcc make
533d58139fSopenharmony_ci```
543d58139fSopenharmony_ciThe generated Dynamic library libboundscheck.so is stored in the newly created directory lib.
553d58139fSopenharmony_ci
563d58139fSopenharmony_ci#### How to use
573d58139fSopenharmony_ci1. Copy the libboundscheck.so to the library file directory, for example: "/usr/local/lib/".
583d58139fSopenharmony_ci
593d58139fSopenharmony_ci2. To use the libboundscheck, add the “-lboundscheck” parameters to the compiler, for example: “gcc -g -o test test.c -lboundscheck”.