forked from Imagelibrary/binutils-gdb
* ar.c (open_inarch): Check fwrite return. Use size_t.
(extract_file): Likewise. Remove test for "negative" file size. * readelf.c (process_program_headers): Check fscanf return.
This commit is contained in:
@@ -777,10 +777,10 @@ open_inarch (const char *archive_filename, const char *file)
|
||||
static void
|
||||
print_contents (bfd *abfd)
|
||||
{
|
||||
int ncopied = 0;
|
||||
size_t ncopied = 0;
|
||||
char *cbuf = xmalloc (BUFSIZE);
|
||||
struct stat buf;
|
||||
long size;
|
||||
size_t size;
|
||||
if (bfd_stat_arch_elt (abfd, &buf) != 0)
|
||||
/* xgettext:c-format */
|
||||
fatal (_("internal stat error on %s"), bfd_get_filename (abfd));
|
||||
@@ -795,8 +795,8 @@ print_contents (bfd *abfd)
|
||||
while (ncopied < size)
|
||||
{
|
||||
|
||||
int nread;
|
||||
int tocopy = size - ncopied;
|
||||
size_t nread;
|
||||
size_t tocopy = size - ncopied;
|
||||
if (tocopy > BUFSIZE)
|
||||
tocopy = BUFSIZE;
|
||||
|
||||
@@ -805,7 +805,8 @@ print_contents (bfd *abfd)
|
||||
/* xgettext:c-format */
|
||||
fatal (_("%s is not a valid archive"),
|
||||
bfd_get_filename (bfd_my_archive (abfd)));
|
||||
fwrite (cbuf, 1, nread, stdout);
|
||||
if (fwrite (cbuf, 1, nread, stdout) != nread)
|
||||
fatal ("stdout: %s", strerror (errno));
|
||||
ncopied += tocopy;
|
||||
}
|
||||
free (cbuf);
|
||||
@@ -826,9 +827,9 @@ extract_file (bfd *abfd)
|
||||
{
|
||||
FILE *ostream;
|
||||
char *cbuf = xmalloc (BUFSIZE);
|
||||
int nread, tocopy;
|
||||
long ncopied = 0;
|
||||
long size;
|
||||
size_t nread, tocopy;
|
||||
size_t ncopied = 0;
|
||||
size_t size;
|
||||
struct stat buf;
|
||||
|
||||
if (bfd_stat_arch_elt (abfd, &buf) != 0)
|
||||
@@ -836,10 +837,6 @@ extract_file (bfd *abfd)
|
||||
fatal (_("internal stat error on %s"), bfd_get_filename (abfd));
|
||||
size = buf.st_size;
|
||||
|
||||
if (size < 0)
|
||||
/* xgettext:c-format */
|
||||
fatal (_("stat returns negative size for %s"), bfd_get_filename (abfd));
|
||||
|
||||
if (verbose)
|
||||
printf ("x - %s\n", bfd_get_filename (abfd));
|
||||
|
||||
@@ -888,7 +885,8 @@ extract_file (bfd *abfd)
|
||||
|
||||
output_file = ostream;
|
||||
}
|
||||
fwrite (cbuf, 1, nread, ostream);
|
||||
if (fwrite (cbuf, 1, nread, ostream) != nread)
|
||||
fatal ("%s: %s", output_filename, strerror (errno));
|
||||
ncopied += tocopy;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user