티스토리 툴바


구조체 포인터를 생성 하고 널 체크를 하지 않은채 바로 참조 했을때 발생한다.

ex)

void basic_reverse_null(struct buf_t *request_buf) {
kind_of_struct *kStruct;
*request_buf = some_function(); // Assignment dereference *kStruct = another_function((*kind_of_struct)request_buf);
}

해결책)
void basic_reverse_null(struct buf_t *request_buf) {
kind_of_struct *kStruct;
*request_buf = some_function(); // Assignment dereference if (request_buff == NULL) // NULL check AFTER dereference return -ENOMEM;
*kStruct = another_function((*kind_of_struct)request_buf);
}

void basic_reverse_null(struct buf_t *request_buf) {
kind_of_struct *kStruct;
if(*request_buf = some_function()==NULL) // Assignment dereference return -ENOMEM;
*kStruct = another_function((*kind_of_struct)request_buf);
}

void basic_reverse_null(struct buf_t *request_buf) {
kind_of_struct *kStruct;
if(*request_buf = some_function()!=NULL) // Assignment dereference *kStruct = another_function((*kind_of_struct)request_buf);
}
간단하지만 쉽게 지나치기 쉬운 부분이다.

Posted by 케이군! Trackback 0 : Comment 1
prev 1 2 3 4 5 ... 13 next