메모리 누수(memory leak), 메모리 누수의 예제코드 - C, C++
CODEDRAGON ㆍSecurity/SecureCoding
반응형
메모리 누수(memory leak)
http://codedragon.tistory.com/4102
메모리 누수의 예제코드
잘못된 코드 (메모리 누수 발생)
안전하지 않은 코드 |
// Bad 코드 (메모리 누수 발생)
void sub() {
int *pi = new int; // 메모리 할당
*pi = 69; // 사용
pi = new int; // 메모리 할당, 메모리 누수발생
// 기존에 할당 받은 메모리 공간을 추적할 수 없게 됩니다.
// 기존에 할당받은 값은 누구도 사용할 수 없게 되어집니다.
*pi = 99;
} |
올바른 코드
안전한 코드 |
// Good 코드
void sub() {
int *pi = new int; // 메모리 할당
*pi = 69; // 사용
delete pi; // 메모리 반납
pi = new int; // 메모리 할당
*pi = 99;
delete pi;
} |
'Security > SecureCoding' 카테고리의 다른 글
소프트웨어 테스트(소프트웨어 테스팅)의 종류 - 화이트 박스 테스트 (코드기반 시험), 블랙 박스 테스트 (Input, Output 기반의 시험) (0) | 2019.01.03 |
---|---|
소프트웨어 개발 생명주기 도식도 (0) | 2018.11.08 |
IoT큐브 - 소프트웨어(SW)코드분석도구 (0) | 2018.02.13 |
16.반복된 인증시도 제한 기능 부재 - 참고자료 (0) | 2018.01.20 |
SR4‐1 세션통제 사고 사례 - 온라인 뱅킹시 하이재킹 시도 맬웨어 발견 주의! (0) | 2017.12.27 |