The developer teams at Microsoft may have something to smile about this morning after it has emerged that the company’s Internet Explorer browser is one of the only modern web browsers that is not susceptible to an memory leak which occurs when an image attribute is invoked.
The issue has been posted to the Chromium issue tracker, noting that not only Chrome is affected by the memory leak but also Firefox and Safari (at the time of writing Opera has not been tested).
A memory leak occurs when an image result contains “Cache-Control: no-store” as it loads, the browser should load the image and then free allocated memory once it has loaded. Instead, as the issue points out, the memory is never freed and stores more than 500 times the memory (22k rising to over 1MB) allocation of the original image size in memory, if not more.
The developer created a test page using Google’s App Engine to show what the flaw would do, but also to ask additional developers to test their browsers and report back their findings. Other developers have noted the flaw isn’t limited to Windows machines, with a Linux user reporting the same issue.
However, At the time of writing, the service has gone over its bandwidth allocation and is inaccessible to visitors.
In order to reproduce the problem, the developer adds that designers can perform the following steps:
1. Request an image from a server.
2. Image result contains “Cache-Control: no-store”.
3. Display the image.
Considering the No-Store attribute was created not to store image on the local disk, it isn’t rendered the way it should be in most modern browsers.
The attribute is not often used in popular websites which is why the issue has not been acknowledged as a widespread problem yet. With the tracker alerting the Chrome teams, it is likely the Google browser’s next update will be released with a fix for the flaw, as will most other popular browsers.
At least for the moment, Internet Explorer has one up over its rivals.