svn commit: r189111 - head/sys/fs/udf

Andriy Gapon avg at FreeBSD.org
Fri Feb 27 09:29:32 PST 2009


Author: avg
Date: Fri Feb 27 17:29:31 2009
New Revision: 189111
URL: http://svn.freebsd.org/changeset/base/189111

Log:
  udf_readatoffset: return correct size and data pointer for data in fentry
  
  This should help correct reading of directories with data located
  in fentry.
  
  Submitted by:	bde
  Approved by:	jhb (mentor)

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

Modified: head/sys/fs/udf/udf_vnops.c
==============================================================================
--- head/sys/fs/udf/udf_vnops.c	Fri Feb 27 17:27:16 2009	(r189110)
+++ head/sys/fs/udf/udf_vnops.c	Fri Feb 27 17:29:31 2009	(r189111)
@@ -1319,6 +1319,12 @@ udf_readatoffset(struct udf_node *node, 
 		fentry = node->fentry;
 		*data = &fentry->data[le32toh(fentry->l_ea)];
 		*size = le32toh(fentry->l_ad);
+		if (offset >= *size)
+			*size = 0;
+		else {
+			*data += offset;
+			*size -= offset;
+		}
 		return (0);
 	} else if (error != 0) {
 		return (error);


More information about the svn-src-head mailing list