[ C++ ] Convert getenv() to _dupenv_s() C / C++

보안 문제로 발생하는 Warning.

내용은 아래와 같다.

warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

getenv() 사용법
1
2
3
4
char *pValue = NULL;
pValue = getenv("COMSPEC");
 
printf("getenv() : %s\n", pValue);
cs

_dupenv_s() 사용법
1
2
3
4
5
char *pValue2 = NULL;
size_t len = NULL;
_dupenv_s(&pValue2, &len, "COMSPEC");
    
printf("_dupenv_s() : %s, %d\n", pValue2, len);
cs

위와 같은 방식으로 getenv()을 _dupenv_s()로 변경하여 사용하면 해결.

2016. 03. 31 내용 추가
_dupenv_s()를 사용할 때에는 *pValue2 변수를 반드시 메모리 해제해야 한다.
free(pValue2);


덧글

댓글 입력 영역



위젯 광고_구글 애드센스

통계 위젯 (화이트)

21
20
194485