Although many solutions have been proposed, buffer overflow vulnerabilities remain a serious security threat. Pure static analysis techniques can identify the vulnerable points in a program before the program is deployed, but cannot eliminate all vulnerabilities. We proposed a run-time buffer overflow detection mechanism that is efficient, portable, and compatible enough with existing programs to be practical. The value of our work is that it can catch some of the attacks that other run-time solutions cannot. We believe that our work is not only useful as a stand-alone protection system but also can be complementary to other solutions. We plan to extend our work to include static analysis technique in order to be able to selectively perform the range checking.