bfd_check_format_matches error paths

Tidy early out errors which didn't free matching_vector.  Don't
bfd_preserve_restore if we get to err_ret from the first
bfd_preserve_save, which might fail from a memory allocation leaving
preserve.marker NULL.  Also take bfd_lock a little earlier before
modifying abfd->format to simplify error return path from a lock
failure.
1 file changed