The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 30, 2012
Filed:
Aug. 24, 2009
Ginger M. Myles, San Jose, CA (US);
Srinivas Vedula, Santa Clara, CA (US);
Gianpaolo Fasoli, Palo Alto, CA (US);
Julien Lerouge, Santa Clara, CA (US);
Tanya Michelle Lattner, San Jose, CA (US);
Augustin J. Farrugia, Cupertino, CA (US);
Ginger M. Myles, San Jose, CA (US);
Srinivas Vedula, Santa Clara, CA (US);
Gianpaolo Fasoli, Palo Alto, CA (US);
Julien Lerouge, Santa Clara, CA (US);
Tanya Michelle Lattner, San Jose, CA (US);
Augustin J. Farrugia, Cupertino, CA (US);
Apple Inc., Cupertino, CA (US);
Abstract
Disclosed herein are systems, computer-implemented methods, and computer-readable storage media for call path enforcement. The method includes tracking, during run-time, a run-time call order for a series of function calls in a software program, and when executing a protected function call during run-time, allowing or causing proper execution of a protected function call only if the run-time call order matches a predetermined order. The predetermined order can be an expected run-time call order based on a programmed order of function calls in the software program. The method can include maintaining an evolving value associated with the run-time call order and calling the protected function by passing the evolving value and function parameters corrupted based on the evolving value. The protected function uncorrupts the corrupted parameters based on the passed evolving value and an expected predetermined call order. A buffer containing the uncorrupted parameters can replace the corrupted parameters.