AddressSanitizer와 PostgreSQL: 스택 버퍼 오버플로 해결 사례
작성자: Mark Wong 작성일: 2026년 2월 8일 개발자에게 메모리 오염(Memory Corruption) 버그는 가장 까다로운 숙제 중 하나입니다. 이번 포스팅에서는 메모리 오류 탐지 도구인 **AddressSanitizer(ASan)**가 어떻게 실제 버그를 찾아냈는지, 그리고 PostgreSQL 회귀 테스트(Regression Tests) 환경에서 이를 처음 접하는 분들이 로컬에서 어떻게 실행할 수 있는지 간단한 가이드를 소개합니다. 1. 사건의 발단: “내 로컬에선 잘 되는데?” 최근 저는 최신 코딩 스타일을 적용하기 위해 몇 가지 시스템 카탈로그 함수를 리팩토링(Refactoring)하는 패치를 제출했습니다. 선택적 매개변수(Optional parameters)를 추가하는 작업이었죠. 제 로컬 환경에서 수행한 회귀 테스트는 모두 통과했습니다. 심지어 Cirrus CI의 대부분의 테스트 항목도 모두 통과했죠. 하지만 딱 하나, AddressSanitizer를 사용하는 테스트 세션에서만 빨간불이 들어왔습니다. 테스트 결과를 분석하는 방법은 여러 가지가 있지만, 간단히 말씀드리면 빨간색으로 표시된 Run […]
