Author: kib
Date: Tue Nov 22 13:24:57 2016
New Revision: 308995
URL: https://svnweb.freebsd.org/changeset/base/308995

Log:
  On error, bread(9) zeroes buffer pointer, do not dereference it.
  See r294954 for the bread(9) change and r297401 for similar cd9660 fix.
  
  Reported and tested by:       Joshua Kinard <ku...@gentoo.org>
  PR:   214705
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week

Modified:
  head/sys/fs/udf/udf_vnops.c

Modified: head/sys/fs/udf/udf_vnops.c
==============================================================================
--- head/sys/fs/udf/udf_vnops.c Tue Nov 22 12:29:24 2016        (r308994)
+++ head/sys/fs/udf/udf_vnops.c Tue Nov 22 13:24:57 2016        (r308995)
@@ -487,11 +487,11 @@ udf_read(struct vop_read_args *ap)
                } else {
                        error = bread(vp, lbn, size, NOCRED, &bp);
                }
-               n = min(n, size - bp->b_resid);
-               if (error) {
+               if (error != 0) {
                        brelse(bp);
                        return (error);
                }
+               n = min(n, size - bp->b_resid);
 
                error = uiomove(bp->b_data + on, (int)n, uio);
                brelse(bp);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to