aboutsummaryrefslogtreecommitdiff
path: root/binutils/ar.c
diff options
context:
space:
mode:
Diffstat (limited to 'binutils/ar.c')
-rw-r--r--binutils/ar.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/binutils/ar.c b/binutils/ar.c
index 0ba83ca..c547874 100644
--- a/binutils/ar.c
+++ b/binutils/ar.c
@@ -511,7 +511,6 @@ extract_file(abfd)
exit(1);
}
}
- /* no need to byte-swap; the two formats are presumably compatible(!) */
fwrite(cbuf, 1, nread, ostream);
ncopied += tocopy;
}
@@ -845,6 +844,14 @@ replace_members(files_to_move)
if (newer_only) {
struct stat fsbuf,
asbuf;
+
+ if (current->arelt_data == NULL) {
+ /* This can only happen if you specify a file on the
+ command line more than once. */
+ fprintf (stderr, "Duplicate file specified: %s -- skipping.\n", *files_to_move);
+ goto next_file;
+ }
+
if (stat(*files_to_move, &fsbuf) != 0) {
if (errno != ENOENT)
bfd_fatal(*files_to_move);