Tweak previous change (only assume malformed_archive if errno == 0).
This commit is contained in:
parent
286fd2f9e5
commit
446c5af7c2
2 changed files with 10 additions and 5 deletions
|
@ -1,7 +1,8 @@
|
||||||
Mon Oct 5 14:32:55 1992 Per Bothner (bothner@cygnus.com)
|
Mon Oct 5 14:32:55 1992 Per Bothner (bothner@cygnus.com)
|
||||||
|
|
||||||
* archive.c (_bfd_write_archive_contents): If read fails,
|
* archive.c: Make errno global.
|
||||||
set bfd_error to malformed_archive (since this probably
|
* archive.c (_bfd_write_archive_contents): If read fails (and
|
||||||
|
errno!=0) set bfd_error to malformed_archive (since this probably
|
||||||
indicates a truncated archive), rather than system_call_error.
|
indicates a truncated archive), rather than system_call_error.
|
||||||
|
|
||||||
Mon Oct 5 03:33:39 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
|
Mon Oct 5 03:33:39 1992 Mark Eichin (eichin at tweedledumber.cygnus.com)
|
||||||
|
|
|
@ -98,6 +98,11 @@ DESCRIPTION
|
||||||
#include "libbfd.h"
|
#include "libbfd.h"
|
||||||
#include "aout/ar.h"
|
#include "aout/ar.h"
|
||||||
#include "aout/ranlib.h"
|
#include "aout/ranlib.h"
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#ifndef errno
|
||||||
|
extern int errno;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef GNU960
|
#ifdef GNU960
|
||||||
#define BFD_GNU960_ARMAG(abfd) (BFD_COFF_FILE_P((abfd)) ? ARMAG : ARMAGB)
|
#define BFD_GNU960_ARMAG(abfd) (BFD_COFF_FILE_P((abfd)) ? ARMAG : ARMAGB)
|
||||||
|
@ -265,9 +270,6 @@ get_extended_arelt_filename (arch, name)
|
||||||
bfd *arch;
|
bfd *arch;
|
||||||
char *name;
|
char *name;
|
||||||
{
|
{
|
||||||
#ifndef errno
|
|
||||||
extern int errno;
|
|
||||||
#endif
|
|
||||||
unsigned long index = 0;
|
unsigned long index = 0;
|
||||||
|
|
||||||
/* Should extract string so that I can guarantee not to overflow into
|
/* Should extract string so that I can guarantee not to overflow into
|
||||||
|
@ -1217,7 +1219,9 @@ _bfd_write_archive_contents (arch)
|
||||||
if (amt > remaining) {
|
if (amt > remaining) {
|
||||||
amt = remaining;
|
amt = remaining;
|
||||||
}
|
}
|
||||||
|
errno = 0;
|
||||||
if (bfd_read (buffer, amt, 1, current) != amt) {
|
if (bfd_read (buffer, amt, 1, current) != amt) {
|
||||||
|
if (errno) goto syserr;
|
||||||
/* Looks like a truncated archive. */
|
/* Looks like a truncated archive. */
|
||||||
bfd_error = malformed_archive;
|
bfd_error = malformed_archive;
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Add table
Reference in a new issue