[PATCH 2/2] xfsdump: don't do pointer math twice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The pointer math when calculating the address for the call to memset
is incorrect, so we are clearing the wrong memory location.

i2gmap is of type i2gseg_t 

oldsize has already computed the pointer offset
	oldsize = inomap.hnkmaplen * SEGPERHNK * sizeof(i2gseg_t);
the memset call is using
	inomap.i2gmap + oldsize == &inomap.i2gmap[oldsize]
so we were doing the pointer math twice.

We already compensate for the length of each item in oldsize so
adding need to add a (char *) cast to the memset parameter.

---
 dump/inomap.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/dump/inomap.c
===================================================================
--- a/dump/inomap.c
+++ b/dump/inomap.c
@@ -1143,7 +1143,7 @@ cb_add_inogrp( void *arg1, intgen_t fsfd
 				return -1;
 
 			/* zero the new portion of the i2gmap */
-			memset(inomap.i2gmap + oldsize,
+			memset((char *)inomap.i2gmap + oldsize,
 			       0,
 			       SEGPERHNK * sizeof(i2gseg_t));
 		}

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs



[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux