MS IE CStyleSheetRule Array Memory Corruption

December 3, 2010

Microsoft Internet Explorer (IE) is one of the most popular web browsers on the Internet. Internet Explorer is capable of rendering both static and dynamic web contents, such as DHTML. It can also be used to download files, play multi-media contents and open different file formats using various plug-ins.

IE supports the Document Object Model (DOM); a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. The rules for programming and interacting with DOM are specified by the DOM Application Programming Interface (API). JScript and JavaScript can both be used by IE to access and modify a web page's underlying DOM.

A separate mechanism, Cascading Style Sheets (CSS), exists to allow web page authors to control the style of a page. The CSS defines the look, and to some extent, the behavior, of HTML elements. The CSS language is human readable, and expresses styles in common desktop publishing terminology. Styles are generally stored within external Style Sheets so as to facilitate their easy reuse and modification. Styles can be stored in-line as well. The following example shows the use of styles: