Comment Re:Yes (Score 1) 467
It would hold true for any poorly programmed upgrade utility, of any form. Other possible causes of issues are upgrade utilities built in to existing firmware that have various limits on what the new firmware can look like, so for example if version 1.2 thinks the next version must be of exactly size Y, the manufacturer may make 1.3 fit that parameter, but also update the upgrade utility to allow new firmwares of size Z instead. And then when the next firmware upgrade is made to 1.4 the firmware is using that extra space. in that situation an upgrade from 1.2 directly to 1.4 would fail. (I've also seen this done with changing encryption keys, or new compression methods being implemented, in all cases an intermediate firmware is used to upgrade the upgrader before the following firmware makes use of the new features)
Of course the real culprit in any of these cases is extremely poor programming. About the first thing taught in any programming course is to never make assumptions about the initial state of any system, or about the input being handed to you. So your upgrade utility should always check first to make sure things are going to fit it's per-conceived notions, and have a contingency plan to work around it (either refuse the update, or fix the issue before continuing)