The disadvantage is that a "goto fail" can easily happen with this approach. And it actually had happened in the wild.