snu-sf-class / swpp202401

Principles and Practices of Software Development Main Repository
14 stars 4 forks source link

[Project] Question about free #105

Open sbkim28 opened 6 months ago

sbkim28 commented 6 months ago

안녕하세요, free 함수와 관련하여 질문이 있어서 issue를 남깁니다.

다음은 제가 임의로 작성한 c 테스트 프로그램입니다.

#include <stdlib.h>

int main() {
  free(NULL);
}

c standard에 따르면 free(NULL)은 아무런 동작도 하지 않는 것으로 알고 있습니다. 그러나 이를 컴파일해서 실행하면 interpreter에서 에러가 발생합니다. Assembly spec에서는 free에 passed되는 pointer는 allocated heap space의 시작 지점을 가리키고 있어야 한다고 되어 있는데, NULL값에 대한 처리는 별도로 해주지 않는 것 같아 문제가 생기는 것 같습니다.

해당 문제를 확인해주시면 감사하겠습니다.

strikef commented 6 months ago

버그가 맞으나, free의 구현 방식상 인터프리터 업데이트로 수정할 예정입니다.

strikef commented 6 months ago

5/20일자 인터프리터 패치로 수정되었습니다.