| Index: bfd/pef.c
|
| diff --git a/bfd/pef.c b/bfd/pef.c
|
| index ca4c4548a91719954c7d2fe5e4fc83858647df19..6c52e0f3590c28d8fadfe356b36f86adf82a14e5 100644
|
| --- a/bfd/pef.c
|
| +++ b/bfd/pef.c
|
| @@ -583,34 +583,28 @@ bfd_pef_read_header (bfd *abfd, bfd_pef_header *header)
|
| static const bfd_target *
|
| bfd_pef_object_p (bfd *abfd)
|
| {
|
| - struct bfd_preserve preserve;
|
| bfd_pef_header header;
|
| + bfd_pef_data_struct *mdata;
|
|
|
| - preserve.marker = NULL;
|
| if (bfd_pef_read_header (abfd, &header) != 0)
|
| goto wrong;
|
|
|
| if (header.tag1 != BFD_PEF_TAG1 || header.tag2 != BFD_PEF_TAG2)
|
| goto wrong;
|
|
|
| - preserve.marker = bfd_zalloc (abfd, sizeof (bfd_pef_data_struct));
|
| - if (preserve.marker == NULL
|
| - || !bfd_preserve_save (abfd, &preserve))
|
| + mdata = (bfd_pef_data_struct *) bfd_zalloc (abfd, sizeof (*mdata));
|
| + if (mdata == NULL)
|
| goto fail;
|
|
|
| - if (bfd_pef_scan (abfd, &header,
|
| - (bfd_pef_data_struct *) preserve.marker) != 0)
|
| + if (bfd_pef_scan (abfd, &header, mdata))
|
| goto wrong;
|
|
|
| - bfd_preserve_finish (abfd, &preserve);
|
| return abfd->xvec;
|
|
|
| wrong:
|
| bfd_set_error (bfd_error_wrong_format);
|
|
|
| fail:
|
| - if (preserve.marker != NULL)
|
| - bfd_preserve_restore (abfd, &preserve);
|
| return NULL;
|
| }
|
|
|
| @@ -1124,7 +1118,6 @@ bfd_pef_xlib_scan (bfd *abfd, bfd_pef_xlib_header *header)
|
| static const bfd_target *
|
| bfd_pef_xlib_object_p (bfd *abfd)
|
| {
|
| - struct bfd_preserve preserve;
|
| bfd_pef_xlib_header header;
|
|
|
| if (bfd_pef_xlib_read_header (abfd, &header) != 0)
|
| @@ -1141,20 +1134,12 @@ bfd_pef_xlib_object_p (bfd *abfd)
|
| return NULL;
|
| }
|
|
|
| - if (! bfd_preserve_save (abfd, &preserve))
|
| - {
|
| - bfd_set_error (bfd_error_wrong_format);
|
| - return NULL;
|
| - }
|
| -
|
| if (bfd_pef_xlib_scan (abfd, &header) != 0)
|
| {
|
| - bfd_preserve_restore (abfd, &preserve);
|
| bfd_set_error (bfd_error_wrong_format);
|
| return NULL;
|
| }
|
|
|
| - bfd_preserve_finish (abfd, &preserve);
|
| return abfd->xvec;
|
| }
|
|
|
|
|