@@ -809,11 +809,6 @@ static int dump_read(int fd, void *buf, size_t count)
809809 else
810810 ret = _read (fd , buf , count );
811811
812- #ifdef CHECKSUM_MD5
813- if (checksum && ret > 0 )
814- md5_update (& md5_restore_ctx , buf , count );
815- #endif
816-
817812 return ret ;
818813}
819814
@@ -826,11 +821,6 @@ static int dump_write(int fd, const void *buf, size_t count)
826821 else
827822 ret = _write (fd , buf , count );
828823
829- #ifdef CHECKSUM_MD5
830- if (checksum && ret > 0 )
831- md5_update (& md5_checkpoint_ctx , buf , count );
832- #endif
833-
834824 return ret ;
835825}
836826
@@ -1045,7 +1035,14 @@ static int read_vm_region(int fd, struct vm_region *vmr, char *buf)
10451035 if (!vm_region_valid (vmr ))
10461036 return -1 ;
10471037
1048- return compress_read (buf , vmr -> len , dump_read , fd );
1038+ ret = compress_read (buf , vmr -> len , dump_read , fd );
1039+ #ifdef CHECKSUM_MD5
1040+ if (checksum && ret > 0 ) {
1041+ md5_update (& md5_restore_ctx , vmr , sizeof (struct vm_region ));
1042+ md5_update (& md5_restore_ctx , buf , vmr -> len );
1043+ }
1044+ #endif
1045+ return ret ;
10491046}
10501047
10511048static int write_vm_region (int fd , const struct vm_region * vmr , const void * buf )
@@ -1059,7 +1056,14 @@ static int write_vm_region(int fd, const struct vm_region *vmr, const void *buf)
10591056 if (ret != sizeof (struct vm_region ))
10601057 return -1 ;
10611058
1062- return compress_write (buf , vmr -> len , dump_write , fd );
1059+ ret = compress_write (buf , vmr -> len , dump_write , fd );
1060+ #ifdef CHECKSUM_MD5
1061+ if (checksum && ret > 0 ) {
1062+ md5_update (& md5_checkpoint_ctx , vmr , sizeof (struct vm_region ));
1063+ md5_update (& md5_checkpoint_ctx , buf , vmr -> len );
1064+ }
1065+ #endif
1066+ return ret ;
10631067}
10641068
10651069static int setup_listen_socket (struct sockaddr * addr , socklen_t addrlen , const int gid )
0 commit comments