`bfd_write()` can return 0 under certain conditions, and then it is likely to return 0 again. The `while()` loop in `bfd_write_full()` will never end.