C and C++ Binaries


BADFUNC.GETENV : Use of getenv

Summary

A use of getenv(), which has undefined behaviors.

Properties

Class Name Use of getenv
Significance style
Mnemonic BADFUNC.GETENV
Categories
MisraC2023 MisraC2023:21.8 The Standard Library termination functions of <stdlib.h> shall not be used
Misra2012 Misra2012:21.8 The Standard Library termination functions of <stdlib.h> shall not be used
Misra2004 Misra2004:20.11 The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used
AUTOSARC++14 AUTOSARC++14:M18-0-3 The library functions abort, exit, getenv and system from library <cstdlib> shall not be used.
MisraC++2008 MisraC++2008:18-0-3 The library functions abort, exit, getenv and system from library <cstdlib> shall not be used.
CWE CWE:676 Use of Potentially Dangerous Function
  CWE:758 Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
CERT-C CERT-C:ENV30-C Do not modify the object referenced by the return value of certain functions
JSF++ JSF++:24 The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Use of getenv"

Example

char * getpath(void){
  return getenv("PATH"); /* 'Use of getenv' warning issued here */
}

Relevant Configuration File Parameters

This class is implemented using a BAD_FUNCTION_* rule set in the general template configuration file.

The following configuration file parameters affect checks for this warning class.