C considered harmful: was Debian attacker may have used new exploit

Interesting examples. Given that any code can be executed by a Turing machine (albeit somewhat slowly ;), I would bet that it is possible to do all these things in a way that separates the code and the data (ie, without generating code on the fly), but possibly not in a way that satisfies the current speed requirements. Or it might be that these approaches were taken at a time when this was the only way to get the necessary speed. So in the long run, it might even become more feasible to avoid what is effectively 'self modifying code' as processors get faster and memory gets cheaper. Peter On Thu, Dec 04, 2003 at 08:20:56PM -0500, Henry Spencer wrote:
It's highly desirable in cases where performance is critical and there are too many different cases to just include one of each in a precompiled binary. The classic example is Rob Pike's dynamically-compiled implementation of RasterOp -- operations on one-bit-deep frame buffers -- where the number of cases is the product of a dozen different variables each with several values. Similar things can be done for applications like network routing.
Similarly, it's heavily used for implementing languages whose full generality must be interpretive, but for which special cases can be identified at run time and compiled into hard code.
Isn't it much safer to have a rigid demarcation between code generation and code execution?
Safer, but less powerful.
Henry Spencer henry-lqW1N6Cllo0sV2N9l4h3zg at public.gmane.org
-- The Toronto Linux Users Group. Meetings: http://tlug.ss.org TLUG requests: Linux topics, No HTML, wrap text below 80 columns How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml
-- Peter D. Hiscocks Department of Electrical and Computer Engineering Ryerson University, 350 Victoria Street, Toronto, Ontario, M5B 2K3, Canada Phone: (416) 979-5000 Ext 6109 Fax: (416) 979-5280 Email: phiscock-g851W1bGYuGnS0EtXVNi6w at public.gmane.org URL: http://www.ee.ryerson.ca/~phiscock -- The Toronto Linux Users Group. Meetings: http://tlug.ss.org TLUG requests: Linux topics, No HTML, wrap text below 80 columns How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml
participants (1)
-
phiscock-g851W1bGYuGnS0EtXVNi6w@public.gmane.org