Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!snorkelwacker!mit-eddie!uw-beaver!uw-june!fred.cs.washington.edu!machaffi From: machaffi@fred.cs.washington.edu (Scott MacHaffie) Newsgroups: comp.lang.c Subject: Re: Argument validity checking (addresses) Keywords: address probing Message-ID: <10603@june.cs.washington.edu> Date: 5 Feb 90 03:54:42 GMT References: <1990Jan18.175540.12131@wolves.uucp> <1009.nlhp3@oracle.nl> <10542@june.cs.washington.edu> <1990Feb3.052307.12524@wolves.uucp> Sender: news@cs.washington.edu Reply-To: machaffi@fred.cs.washington.edu.cs.washington.edu (Scott MacHaffie) Organization: University of Washington Lines: 14 In article <1990Feb3.052307.12524@wolves.uucp> ggw@wolves.UUCP (Gregory G. Woodbury) writes: >The validity I was trying to insure was that the >subroutine can pull bytes (or whatever) from the given address, or that >the given address can be called as a function without *immediately* killing >the process. If you are expecting a function pointer and are passed a character pointer, for example, then the process will probably die as soon as you call the "function". As an example, suppose that you are passed a pointer to a character string which just happens to be the same as a function prolog -- except that the first "instruction" is an illegal memory access. Thus, the same problem returns for testing for valid function pointers. Scott MacHaffie