calloc does not use tcache in ≤2.40

해당 문제를 풀다가 알아낸 사실이다.

malloc은 한참 예전 glibc 2.26 부터 tcache가 도입되어 사용되어 왔다. 이에 따라 malloc은 tcache가 가장 우선순위가 되어 heap을 할당해왔다.

따라서 나는 당연히 calloc도 같을 줄 알고 페이로드를 작성하고 확인을 해보니 tcache를 전혀 사용하지 않고 새청크를 가져오길레 깜짝놀랐다. 확인을 해보니 calloc은 2.41+ 부터 tcache를 사용하기 시작했고 그 이전 버전에서는 사용하지 않는다는 것이었다. 상당히 흥미롭다.