add readme & test
随着安全需求日益增长,C语言中的传统函数已不能满足当今的安全需求。C11标准的附录K中提到的安全函数就是为了解决这个问题而产生的。为此,基于openKylin开源软件仓库safeclib,我们希望进一步完善其提供的安全函数。
读取函数系列的改动主要在做了对%s, %c, and %[ 的支持
a. fscanf_s 按照C11标准附录K中的要求实现fscanf_s函数。函数应严格检查格式化字符串长度,并确保在读取时不会超出提供的缓冲区大小。
b. scanf_s 与fscanf_s类似,但是从标准输入读取。
c. sscanf_s 从提供的字符串中读取,确保缓冲区长度不会被超出。
d. vfscanf_s 与fscanf_s相似,但是接受va_list参数。
e. vscanf_s 与scanf_s相似,但是接受va_list参数。
f. vsscanf_s 与sscanf_s相似,但是接受va_list参数。
宽字符读取函数系列,与上一个系列类似,主要改成了使用宽字符
a. fwscanf_s 按照C11标准附录K中的要求实现fwscanf_s函数,与fscanf_s功能类似,但处理宽字符。
b. swscanf_s 与fwscanf_s类似,但从提供的宽字符字符串中读取。
c. vfwscanf_s 与fwscanf_s相似,但接受va_list参数。
d. vswscanf_s 与swscanf_s相似,但接受va_list参数。
e. vwscanf_s 从标准输入读取宽字符,并接受va_list参数。
f. wscanf_s 从标准输入读取宽字符。
同时在每个函数文件里,实现了其测试函数。 仓库代码还需要放到safelib中加入头文件后进行测试。目前仅做了简单验证,后续需要完善。
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
赛题背景
随着安全需求日益增长,C语言中的传统函数已不能满足当今的安全需求。C11标准的附录K中提到的安全函数就是为了解决这个问题而产生的。为此,基于openKylin开源软件仓库safeclib,我们希望进一步完善其提供的安全函数。
实现要求
1 读取函数系列
读取函数系列的改动主要在做了对%s, %c, and %[ 的支持
a. fscanf_s 按照C11标准附录K中的要求实现fscanf_s函数。函数应严格检查格式化字符串长度,并确保在读取时不会超出提供的缓冲区大小。
b. scanf_s 与fscanf_s类似,但是从标准输入读取。
c. sscanf_s 从提供的字符串中读取,确保缓冲区长度不会被超出。
d. vfscanf_s 与fscanf_s相似,但是接受va_list参数。
e. vscanf_s 与scanf_s相似,但是接受va_list参数。
f. vsscanf_s 与sscanf_s相似,但是接受va_list参数。
2 宽字符读取函数系列
宽字符读取函数系列,与上一个系列类似,主要改成了使用宽字符
a. fwscanf_s 按照C11标准附录K中的要求实现fwscanf_s函数,与fscanf_s功能类似,但处理宽字符。
b. swscanf_s 与fwscanf_s类似,但从提供的宽字符字符串中读取。
c. vfwscanf_s 与fwscanf_s相似,但接受va_list参数。
d. vswscanf_s 与swscanf_s相似,但接受va_list参数。
e. vwscanf_s 从标准输入读取宽字符,并接受va_list参数。
f. wscanf_s 从标准输入读取宽字符。
同时在每个函数文件里,实现了其测试函数。 仓库代码还需要放到safelib中加入头文件后进行测试。目前仅做了简单验证,后续需要完善。