2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 3 Aug 2009 13:47:35 +0000 (13:47 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 3 Aug 2009 13:47:35 +0000 (13:47 +0000)
PR binutils/10364
* objcopy.c (strip_main): Check return from smart_rename.
(copy_main): Likewise.

binutils/ChangeLog
binutils/objcopy.c

index 7aadd75d0c64818cfc9232e012e0defb1670bd67..8f61f3eecb514339c7206e95355b7b13971a3118 100644 (file)
@@ -1,3 +1,9 @@
+2009-08-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/10364
+       * objcopy.c (strip_main): Check return from smart_rename.
+       (copy_main): Likewise.
+
 2009-07-27  Nick Clifton  <nickc@redhat.com>
 
        PR 10413
index 8908b564e1311e6266274fea5db0dd9588fd68ef..b213132c7919ac29233697f55f65295cbba11e83 100644 (file)
@@ -3014,9 +3014,11 @@ strip_main (int argc, char *argv[])
          if (preserve_dates)
            set_times (tmpname, &statbuf);
          if (output_file != tmpname)
-           smart_rename (tmpname, output_file ? output_file : argv[i],
-                         preserve_dates);
-         status = hold_status;
+           status = (smart_rename (tmpname,
+                                   output_file ? output_file : argv[i],
+                                   preserve_dates) != 0);
+         if (status == 0)
+           status = hold_status;
        }
       else
        unlink_if_ordinary (tmpname);
@@ -3866,7 +3868,8 @@ copy_main (int argc, char *argv[])
       if (preserve_dates)
        set_times (tmpname, &statbuf);
       if (tmpname != output_filename)
-       smart_rename (tmpname, input_filename, preserve_dates);
+       status = (smart_rename (tmpname, input_filename,
+                               preserve_dates) != 0);
     }
   else
     unlink_if_ordinary (tmpname);