에 나는이 코드 줄이없는이 (분할 인스턴스 변수입니다) :장치에 오류가 있지만 시뮬레이터
splits = [[NSMutableArray alloc] initWithObjects:[NSMutableArray array]];
이 코드는 (종료 전무 -이 있어야합니다) 분명히 잘못된 것입니다, 그러나 그것은에서 잘 실행 시뮬레이터는 장치에 EXC_BAD_ACCESS
을 던진 경우에도 마찬가지입니다. 내 질문은 왜 시뮬레이터가 오류를 던지지 않는가?
카일
이것은 오버플로가 정확히 같지 않습니다. 인수를 가져 오는 va_arg 매크로는 덮어 쓰지 않고 마지막 인수를 지나치기 만합니다. 아무것도. – zoul
나는 여전히 버퍼 오버 플로우라고 생각할 것이다. 그것은 단지 a/read /가 버퍼의 끝을 오버플로하는 것이지/write /를 쓰는 것이 아닙니다. 기술적 인면은 CWE-126, 버퍼 오버 읽기 (cwe.mitre.org/data/definitions/126.html) 또는 CWE-125, 범위 외 읽기 (http : //cwe.mitre)입니다. .org/data/definitions/125.html). –