Some time ago, the application compatibility folks found a program that was corrupting the heap, and they applied a fix that worked around the specific type of corruption that the program performed. And then a bug came on that same program. It was a heap corruption failure during the program’s processing of global destructors. The authors of that program were so clever, they found a way around the compatibility fix and managed to corrupt the heap anyway!
Update: To clarify, there was no updated version of the program. (That’s why I wrote “that same program” and not “an updated version of that program”.) There was a bug in XYZ Version 2.1. We added a compatibility fix for it. And then later, another bug came in, also for XYZ Version 2.1 showing that the compatibility fix wasn’t good enough. We tried to fix their heap corruption, but they were too clever and corrupted it in another way in a different part of the program.
0 comments