> @@ -3556,14 +3622,10 @@ xlog_recover_process_data( > xfs_caddr_t dp, > int pass) > { > + struct xlog_op_header *ohead; > xfs_caddr_t lp; > int num_logops; > int error; > > lp = dp + be32_to_cpu(rhead->h_len); > num_logops = be32_to_cpu(rhead->h_num_logops); > @@ -3573,69 +3635,24 @@ xlog_recover_process_data( > return -EIO; > > while ((dp < lp) && num_logops) { > + ASSERT(dp + sizeof(struct xlog_op_header) <= lp); > + > + ohead = (struct xlog_op_header *)dp; > + dp += sizeof(*ohead); Using sizeof type and sizeof variable for the same thing right next to each other seems weird. Also why duplicate the addition instead of moving it below the assignment: ohead = (struct xlog_op_header *)dp; dp += sizeof(*ohead); ASSERT(dp <= lp); _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs