Author: emaste
Date: Mon Sep  9 17:44:14 2019
New Revision: 352085
URL: https://svnweb.freebsd.org/changeset/base/352085

Log:
  MFC r344555 (sobomax): makefs: Improve error handling
  
  Bail out if one of the files scheduled to go to the FS image we are
  making cannot be read (e.g. EPERM).  Previous behaviour of issuing a
  warning but still proceeeding and returning success was definitely not
  correct: masking out error condition as well as making a slighly
  inconsistent FS where attempt to access the file in question ends up in
  EBADF.  (More details in review D18584.)

Modified:
  stable/12/usr.sbin/makefs/ffs.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/usr.sbin/makefs/ffs.c
==============================================================================
--- stable/12/usr.sbin/makefs/ffs.c     Mon Sep  9 17:43:44 2019        
(r352084)
+++ stable/12/usr.sbin/makefs/ffs.c     Mon Sep  9 17:44:14 2019        
(r352085)
@@ -932,8 +932,7 @@ ffs_write_file(union dinode *din, uint32_t ino, void *
        if (isfile) {
                fbuf = emalloc(ffs_opts->bsize);
                if ((ffd = open((char *)buf, O_RDONLY, 0444)) == -1) {
-                       warn("Can't open `%s' for reading", (char *)buf);
-                       goto leave_ffs_write_file;
+                       err(EXIT_FAILURE, "Can't open `%s' for reading", (char 
*)buf);
                }
        } else {
                p = buf;
@@ -987,8 +986,6 @@ ffs_write_file(union dinode *din, uint32_t ino, void *
   
  write_inode_and_leave:
        ffs_write_inode(&in.i_din, in.i_number, fsopts);
-
- leave_ffs_write_file:
        if (fbuf)
                free(fbuf);
        if (ffd != -1)
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to