소스를 보다보니
int aaa(char **list){
if(( * list = malloc(1024))== NULL ){
return -1;
}
return 0;
}
int kkk(){
char *output = NULL;
if(aaa(&output) < 0){
return -1;
}
if(output != NULL) free(output);
}
int main(void){
while(1){
if(kkk()< 0) break;
}
return 0;
}
이런 내용의 소스를 봤는데요.
(평소에는 malloc이랑 free를 같은 함수내에서 해서..)
이론적으로 보면 더블포인터로 malloc해서 다른 함수해서 free해도 별문제 없을 것 같은데,
시험삼아서 free를 빼봤는데도 memory leak이 안일어나더라고요-.-;
이유를 아시는분??
제가 free를 빼버리고 3000번정도