Linked by Andrew Youll on Sat 27th Aug 2005 10:50 UTC, submitted by David Forshe
Apple A bug in Apple's Safari leaves it vulnerable to crashing from an animated image. All webkit apps are vulnerable, even rss readers. This comes after Internet Explorer and Firefox had vulnerabilities due to pictures. Why is it that images cause browsers so many problems?
Thread beginning with comment 23818
To read all comments associated with this story, please click here.

Member since:

who said that 'statically linked image decoding libraries are evil' ?

each app having its own local copy, each app has to be updated instead of simply updating a shared library.

Reply Score: 0

VenomousGecko Member since:

...and then you have to worry about the bug getting caught in all of the applications (if it exists) and then updating when and if the vendor releases one. With shared libaries, update once, and all your apps are updated as well.

Reply Parent Score: 1

Member since:

There are flip sides to that as well: if a shared library is updated, it is just as likely to cause everything that depends on it to work in a different manner than before; this is AKA "DLL Hell" under Windows, and I'm sure there's no difference in other OS's, beyond the name.

So, what am I saying? They're both good and bad, but are mirror opposites in terms of which ways they're good and bad.

The advantage AND disadvantage of shared libraries is you upgrade everything at once, while the advantage AND disadvantage of statically linked libraries is that you upgrade everything separately, with the first case of shared possibly breaking everything else that previously worked, and the static version only fixing one thing, if you can get it updated, but at least it doesn't break everything else that was working fine.

As far as resource usage, shared libraries are definitely more efficient, and get more efficient as more currently running applications that use them are in use: they exist once in physical memory, and thus are more likely to be in the CPU cache (can't remember, though, if the CPU caches by logical or physical address) and definitely more likely to not be paged out because of how frequently they are used, besides the fact that they only take up a fixed amount of physical memory, regardless of how many processes are using them.

So, use them according to what the user and system needs: they both have their places.

Reply Parent Score: 0