☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

避免使用已过时的接口

1.12 ID_obsoleteFunction
目录 › next › previous

避免使用在相关标准中已过时的接口,应改用更完善的替代方法以规避风险,提高可移植性。

对于过时的 C++ 标准库接口,本规则特化为 ID_obsoleteStdFunction。

示例:

asctime         // Use ‘strftime’ instead
bcmp            // Use ‘memcmp’ instead
bcopy           // Use ‘memmove’ or ‘memcpy’ instead
bsd_signal      // Use ‘sigaction’ instead
bzero           // Use ‘memset’ instead
ctime           // Use ‘strftime’ instead
gethostbyaddr   // Use ‘getnameinfo’ instead
gethostbyname   // Use ‘getaddrinfo’ instead
getwd           // Use ‘getcwd’ instead
mktemp          // Use ‘mkstemp’ instead
usleep          // Use ‘nanosleep’ instead
utime           // Use ‘utimensat’ instead
vfork           // Use ‘fork’ instead
wcswcs          // Use ‘wcsstr’ instead

pthread_attr_getstackaddr   // Use ‘pthread_attr_getstack’ instead
pthread_attr_setstackaddr   // Use ‘pthread_attr_setstack’ instead

CreateToolbarEx      // Use ‘CreateWindowEx’ instead
InitCommonControls   // Use ‘InitCommonControlsEx’ instead
NtQuerySystemTime    // Use ‘GetSystemTimeAsFileTime’ instead
RegCreateKey         // Use ‘RegCreateKeyEx’ instead
WinExec              // Use ‘CreateProcess’ instead

例中 C89 引入的 ctime、asctime 等函数在 POSIX.1-2008 标准中已过时,应改用 strftime 函数;RegCreateKey 等 16 位 Windows API 在 32 和 64 位平台中不应再被使用。

相关

ID_obsoleteStdFunction

参考

CWE-477 SEI CERT MSC24-C
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.