cert-err33-c¶
Warns on unused function return values. Many of the standard library functions return a value that indicates if the call was successful. Ignoring the returned value can cause unexpected behavior if an error has occurred. The following functions are checked:
aligned_alloc()
asctime_s()
at_quick_exit()
atexit()
bsearch()
bsearch_s()
btowc()
c16rtomb()
c32rtomb()
calloc()
clock()
cnd_broadcast()
cnd_init()
cnd_signal()
cnd_timedwait()
cnd_wait()
ctime_s()
fclose()
fflush()
fgetc()
fgetpos()
fgets()
fgetwc()
fopen()
fopen_s()
fprintf()
fprintf_s()
fputc()
fputs()
fputwc()
fputws()
fread()
freopen()
freopen_s()
fscanf()
fscanf_s()
fseek()
fsetpos()
ftell()
fwprintf()
fwprintf_s()
fwrite()
fwscanf()
fwscanf_s()
getc()
getchar()
getenv()
getenv_s()
gets_s()
getwc()
getwchar()
gmtime()
gmtime_s()
localtime()
localtime_s()
malloc()
mbrtoc16()
mbrtoc32()
mbsrtowcs()
mbsrtowcs_s()
mbstowcs()
mbstowcs_s()
memchr()
mktime()
mtx_init()
mtx_lock()
mtx_timedlock()
mtx_trylock()
mtx_unlock()
printf_s()
putc()
putwc()
raise()
realloc()
remove()
rename()
setlocale()
setvbuf()
scanf()
scanf_s()
signal()
snprintf()
snprintf_s()
sprintf()
sprintf_s()
sscanf()
sscanf_s()
strchr()
strerror_s()
strftime()
strpbrk()
strrchr()
strstr()
strtod()
strtof()
strtoimax()
strtok()
strtok_s()
strtol()
strtold()
strtoll()
strtoumax()
strtoul()
strtoull()
strxfrm()
swprintf()
swprintf_s()
swscanf()
swscanf_s()
thrd_create()
thrd_detach()
thrd_join()
thrd_sleep()
time()
timespec_get()
tmpfile()
tmpfile_s()
tmpnam()
tmpnam_s()
tss_create()
tss_get()
tss_set()
ungetc()
ungetwc()
vfprintf()
vfprintf_s()
vfscanf()
vfscanf_s()
vfwprintf()
vfwprintf_s()
vfwscanf()
vfwscanf_s()
vprintf_s()
vscanf()
vscanf_s()
vsnprintf()
vsnprintf_s()
vsprintf()
vsprintf_s()
vsscanf()
vsscanf_s()
vswprintf()
vswprintf_s()
vswscanf()
vswscanf_s()
vwprintf_s()
vwscanf()
vwscanf_s()
wcrtomb()
wcschr()
wcsftime()
wcspbrk()
wcsrchr()
wcsrtombs()
wcsrtombs_s()
wcsstr()
wcstod()
wcstof()
wcstoimax()
wcstok()
wcstok_s()
wcstol()
wcstold()
wcstoll()
wcstombs()
wcstombs_s()
wcstoumax()
wcstoul()
wcstoull()
wcsxfrm()
wctob()
wctrans()
wctype()
wmemchr()
wprintf_s()
wscanf()
wscanf_s()
This check is an alias of check bugprone-unused-return-value with a fixed set of functions.
Suppressing issues by casting to void
is enabled by default and can be
disabled by setting AllowCastToVoid option to false
.
The check corresponds to a part of CERT C Coding Standard rule ERR33-C. Detect and handle standard library errors. The list of checked functions is taken from the rule, with following exception:
The check can not differentiate if a function is called with
NULL
argument. Therefore the following functions are not checked:mblen
,mbrlen
,mbrtowc
,mbtowc
,wctomb
,wctomb_s