자꾸 프로그램이 이상한주소가서 뻗길래 봤더니
포인터 잘못써서 함수 복귀주소에 이상한 값을 써버리는것이었노
디스어셈블리 없었으면 못잡았다
c레벨로 못 찾는 건 아닐 텐데?ㄷㄷ c레벨에서 못 찾는 거면 c컴파일러 결함인 건데 ㄷㄷ
그냥 스택오버플로우 났다는건데 그걸 컴파일러가 어케 잡아
그게 사실이면 컴파일러 결함은 아니야???
int a; int* ptr = &a; *(ptr + 2) = 0xdeadbeaf; 걍 정상적인 c코드잖아
나도 C언어하는데 이래서 MISRA-C 지키는 게 좋은 듯 ㅇㅅㅇ 단순하게 알 수 있는 명시적인 조작만 허용하잖아 ㅇㅅㅇ
c언어는 웬만하면 MISRA-C 지키는 게 좋음
난 C는 포터블 어셈블리의 용도가 강하다고 생각해서 .. 대부분의 큰 프로젝트도 그렇고 솔직히 그런 규정들을 따질 바엔 정 메모리 버그가 걱정되면 정적 분석 인프라를 강화하는게 낫다고 생각함
맞아 정적 분석 도구 좋은 것 같음 c언어 의존도 높은 기업은 구매 안하고 자체 연구 제작도 하겠지 ㅇㅅㅇ
저거 왜 정상적인거야? ptr + 2 주소에 메모리 할당이 사전에 정상적으로 안되어잇는것 같은데
c레벨로 못 찾는 건 아닐 텐데?ㄷㄷ c레벨에서 못 찾는 거면 c컴파일러 결함인 건데 ㄷㄷ
그냥 스택오버플로우 났다는건데 그걸 컴파일러가 어케 잡아
그게 사실이면 컴파일러 결함은 아니야???
int a; int* ptr = &a; *(ptr + 2) = 0xdeadbeaf; 걍 정상적인 c코드잖아
나도 C언어하는데 이래서 MISRA-C 지키는 게 좋은 듯 ㅇㅅㅇ 단순하게 알 수 있는 명시적인 조작만 허용하잖아 ㅇㅅㅇ
c언어는 웬만하면 MISRA-C 지키는 게 좋음
난 C는 포터블 어셈블리의 용도가 강하다고 생각해서 .. 대부분의 큰 프로젝트도 그렇고 솔직히 그런 규정들을 따질 바엔 정 메모리 버그가 걱정되면 정적 분석 인프라를 강화하는게 낫다고 생각함
맞아 정적 분석 도구 좋은 것 같음 c언어 의존도 높은 기업은 구매 안하고 자체 연구 제작도 하겠지 ㅇㅅㅇ
저거 왜 정상적인거야? ptr + 2 주소에 메모리 할당이 사전에 정상적으로 안되어잇는것 같은데