Changeset 49800 in vbox
- Timestamp:
- Dec 5, 2013 11:43:10 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/SSM.cpp
r48986 r49800 3559 3559 3560 3560 case SSMFIELDTRANS_GCPTR: 3561 AssertMsg Return(pCur->cb == sizeof(RTGCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3561 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3562 3562 rc = SSMR3PutGCPtr(pSSM, *(PRTGCPTR)pbField); 3563 3563 break; 3564 3564 3565 3565 case SSMFIELDTRANS_GCPHYS: 3566 AssertMsg Return(pCur->cb == sizeof(RTGCPHYS), ("%#x (%s)\n", pCur->cb, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3566 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPHYS), ("%#x (%s)\n", pCur->cb, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3567 3567 rc = SSMR3PutGCPhys(pSSM, *(PRTGCPHYS)pbField); 3568 3568 break; 3569 3569 3570 3570 case SSMFIELDTRANS_RCPTR: 3571 AssertMsg Return(pCur->cb == sizeof(RTRCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3571 AssertMsgBreakStmt(pCur->cb == sizeof(RTRCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3572 3572 rc = SSMR3PutRCPtr(pSSM, *(PRTRCPTR)pbField); 3573 3573 break; … … 3576 3576 { 3577 3577 uint32_t const cEntries = pCur->cb / sizeof(RTRCPTR); 3578 AssertMsgReturn(pCur->cb == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", pCur->cb, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3578 AssertMsgBreakStmt(pCur->cb == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", pCur->cb, pCur->pszName), 3579 rc = VERR_SSM_FIELD_INVALID_SIZE); 3579 3580 rc = VINF_SUCCESS; 3580 3581 for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++) … … 3584 3585 3585 3586 default: 3586 AssertMsgFailed Return(("%#x\n", pCur->pfnGetPutOrTransformer),VERR_SSM_FIELD_COMPLEX);3587 AssertMsgFailedBreakStmt(("%#x\n", pCur->pfnGetPutOrTransformer), rc = VERR_SSM_FIELD_COMPLEX); 3587 3588 } 3588 3589 if (RT_FAILURE(rc)) 3590 { 3591 if (RT_SUCCESS(pSSM->rc)) 3592 pSSM->rc = rc; 3589 3593 return rc; 3594 } 3590 3595 } 3591 3596 … … 3659 3664 SSM_ASSERT_WRITEABLE_RET(pSSM); 3660 3665 SSM_CHECK_CANCELLED_RET(pSSM); 3661 AssertMsgReturn(!(fFlags & ~SSMSTRUCT_FLAGS_VALID_MASK), ("%#x\n", fFlags), VERR_INVALID_PARAMETER);3666 AssertMsgReturn(!(fFlags & ~SSMSTRUCT_FLAGS_VALID_MASK), ("%#x\n", fFlags), pSSM->rc = VERR_INVALID_PARAMETER); 3662 3667 AssertPtr(pvStruct); 3663 3668 AssertPtr(paFields); … … 3677 3682 * Put the fields 3678 3683 */ 3684 rc = VINF_SUCCESS; 3679 3685 uint32_t off = 0; 3680 3686 for (PCSSMFIELD pCur = paFields; … … 3691 3697 ? RT_HIWORD(pCur->cb) 3692 3698 : pCur->cb; 3693 AssertMsg Return( cbField <= cbStruct3694 && offField + cbField <= cbStruct3695 && offField + cbField >= offField,3696 ("off=%#x cb=%#x cbStruct=%#x (%s)\n", cbField, offField, cbStruct, pCur->pszName),3697 VERR_SSM_FIELD_OUT_OF_BOUNDS);3698 AssertMsg Return(!(fFlags & SSMSTRUCT_FLAGS_FULL_STRUCT)3699 || off == offField,3700 ("off=%#x offField=%#x (%s)\n", off, offField, pCur->pszName),3701 VERR_SSM_FIELD_NOT_CONSECUTIVE);3699 AssertMsgBreakStmt( cbField <= cbStruct 3700 && offField + cbField <= cbStruct 3701 && offField + cbField >= offField, 3702 ("off=%#x cb=%#x cbStruct=%#x (%s)\n", cbField, offField, cbStruct, pCur->pszName), 3703 rc = VERR_SSM_FIELD_OUT_OF_BOUNDS); 3704 AssertMsgBreakStmt( !(fFlags & SSMSTRUCT_FLAGS_FULL_STRUCT) 3705 || off == offField, 3706 ("off=%#x offField=%#x (%s)\n", off, offField, pCur->pszName), 3707 rc = VERR_SSM_FIELD_NOT_CONSECUTIVE); 3702 3708 3703 3709 rc = VINF_SUCCESS; … … 3710 3716 3711 3717 case SSMFIELDTRANS_GCPHYS: 3712 AssertMsgReturn(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3718 AssertMsgBreakStmt(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName), 3719 rc = VERR_SSM_FIELD_INVALID_SIZE); 3713 3720 rc = SSMR3PutGCPhys(pSSM, *(PRTGCPHYS)pbField); 3714 3721 break; 3715 3722 3716 3723 case SSMFIELDTRANS_GCPTR: 3717 AssertMsgReturn(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3724 AssertMsgBreakStmt(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName), 3725 rc = VERR_SSM_FIELD_INVALID_SIZE); 3718 3726 rc = SSMR3PutGCPtr(pSSM, *(PRTGCPTR)pbField); 3719 3727 break; 3720 3728 3721 3729 case SSMFIELDTRANS_RCPTR: 3722 AssertMsgReturn(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3730 AssertMsgBreakStmt(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName), 3731 rc = VERR_SSM_FIELD_INVALID_SIZE); 3723 3732 rc = SSMR3PutRCPtr(pSSM, *(PRTRCPTR)pbField); 3724 3733 break; … … 3727 3736 { 3728 3737 uint32_t const cEntries = cbField / sizeof(RTRCPTR); 3729 AssertMsgReturn(cbField == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3738 AssertMsgBreakStmt(cbField == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), 3739 rc = VERR_SSM_FIELD_INVALID_SIZE); 3730 3740 for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++) 3731 3741 rc = SSMR3PutRCPtr(pSSM, ((PRTRCPTR)pbField)[i]); … … 3734 3744 3735 3745 case SSMFIELDTRANS_HCPTR_NI: 3736 AssertMsgReturn(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3746 AssertMsgBreakStmt(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), 3747 rc = VERR_SSM_FIELD_INVALID_SIZE); 3737 3748 rc = ssmR3PutHCPtrNI(pSSM, *(void * const *)pbField, fFlags); 3738 3749 break; … … 3741 3752 { 3742 3753 uint32_t const cEntries = cbField / sizeof(void *); 3743 AssertMsgReturn(cbField == cEntries * sizeof(void *) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3754 AssertMsgBreakStmt(cbField == cEntries * sizeof(void *) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), 3755 rc = VERR_SSM_FIELD_INVALID_SIZE); 3744 3756 for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++) 3745 3757 rc = ssmR3PutHCPtrNI(pSSM, ((void * const *)pbField)[i], fFlags); … … 3748 3760 3749 3761 case SSMFIELDTRANS_HCPTR_HACK_U32: 3750 AssertMsgReturn(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3751 AssertMsgReturn(*(uintptr_t *)pbField <= UINT32_MAX, ("%p (%s)\n", *(uintptr_t *)pbField, pCur->pszName), VERR_SSM_FIELD_INVALID_VALUE); 3762 AssertMsgBreakStmt(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3763 AssertMsgBreakStmt(*(uintptr_t *)pbField <= UINT32_MAX, ("%p (%s)\n", *(uintptr_t *)pbField, pCur->pszName), 3764 rc = VERR_SSM_FIELD_INVALID_VALUE); 3752 3765 rc = ssmR3DataWrite(pSSM, pbField, sizeof(uint32_t)); 3753 if ((fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) && sizeof(void *) != sizeof(uint32_t) )3766 if ((fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) && sizeof(void *) != sizeof(uint32_t) && RT_SUCCESS(rc)) 3754 3767 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(uint32_t)); 3755 3768 break; 3756 3769 3757 3770 case SSMFIELDTRANS_U32_ZX_U64: 3758 AssertFailed Return(VERR_SSM_FIELD_LOAD_ONLY_TRANSFORMATION);3771 AssertFailedBreakStmt(rc = VERR_SSM_FIELD_LOAD_ONLY_TRANSFORMATION); 3759 3772 break; 3760 3773 … … 3765 3778 3766 3779 case SSMFIELDTRANS_IGN_GCPHYS: 3767 AssertMsg Return(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3780 AssertMsgBreakStmt(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3768 3781 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 3769 3782 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(RTGCPHYS)); … … 3771 3784 3772 3785 case SSMFIELDTRANS_IGN_GCPTR: 3773 AssertMsg Return(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3786 AssertMsgBreakStmt(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3774 3787 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 3775 3788 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(RTGCPTR)); … … 3777 3790 3778 3791 case SSMFIELDTRANS_IGN_RCPTR: 3779 AssertMsg Return(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3792 AssertMsgBreakStmt(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3780 3793 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 3781 3794 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(RTRCPTR)); … … 3783 3796 3784 3797 case SSMFIELDTRANS_IGN_HCPTR: 3785 AssertMsg Return(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3798 AssertMsgBreakStmt(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3786 3799 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 3787 3800 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(void *)); … … 3790 3803 3791 3804 case SSMFIELDTRANS_OLD: 3792 AssertMsg Return(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);3805 AssertMsgBreakStmt(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 3793 3806 rc = ssmR3PutZeros(pSSM, pCur->cb); 3794 3807 break; 3795 3808 3796 3809 case SSMFIELDTRANS_OLD_GCPHYS: 3797 AssertMsgReturn(pCur->cb == sizeof(RTGCPHYS) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3810 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPHYS) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), 3811 rc = VERR_SSM_FIELD_INVALID_SIZE); 3798 3812 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(RTGCPHYS)); 3799 3813 break; 3800 3814 3801 3815 case SSMFIELDTRANS_OLD_GCPTR: 3802 AssertMsgReturn(pCur->cb == sizeof(RTGCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3816 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), 3817 rc = VERR_SSM_FIELD_INVALID_SIZE); 3803 3818 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(RTGCPTR)); 3804 3819 break; 3805 3820 3806 3821 case SSMFIELDTRANS_OLD_RCPTR: 3807 AssertMsgReturn(pCur->cb == sizeof(RTRCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3822 AssertMsgBreakStmt(pCur->cb == sizeof(RTRCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), 3823 rc = VERR_SSM_FIELD_INVALID_SIZE); 3808 3824 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(RTRCPTR)); 3809 3825 break; 3810 3826 3811 3827 case SSMFIELDTRANS_OLD_HCPTR: 3812 AssertMsgReturn(pCur->cb == sizeof(void *) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3828 AssertMsgBreakStmt(pCur->cb == sizeof(void *) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), 3829 rc = VERR_SSM_FIELD_INVALID_SIZE); 3813 3830 rc = ssmR3DataWrite(pSSM, g_abZero, sizeof(void *)); 3814 3831 break; 3815 3832 3816 3833 case SSMFIELDTRANS_OLD_PAD_HC: 3817 AssertMsgReturn(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3834 AssertMsgBreakStmt(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), 3835 rc = VERR_SSM_FIELD_INVALID_SIZE); 3818 3836 rc = ssmR3PutZeros(pSSM, HC_ARCH_BITS == 64 ? RT_HIWORD(pCur->cb) : RT_LOWORD(pCur->cb)); 3819 3837 break; 3820 3838 3821 3839 case SSMFIELDTRANS_OLD_PAD_MSC32: 3822 AssertMsgReturn(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE); 3840 AssertMsgBreakStmt(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), 3841 rc = VERR_SSM_FIELD_INVALID_SIZE); 3823 3842 if (SSM_HOST_IS_MSC_32) 3824 3843 rc = ssmR3PutZeros(pSSM, pCur->cb); … … 3842 3861 && !ssmR3IsHostMsc32(pSSM)) 3843 3862 ? cb64 : cb32; 3844 AssertMsgReturn( cbField == cbCtx 3845 && ( ( pCur->off == UINT32_MAX / 2 3846 && ( cbField == 0 3847 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_HC_AUTO 3848 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_MSC32_AUTO 3849 ) 3863 AssertMsgBreakStmt( cbField == cbCtx 3864 && ( ( pCur->off == UINT32_MAX / 2 3865 && ( cbField == 0 3866 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_HC_AUTO 3867 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_MSC32_AUTO 3868 ) 3869 ) 3870 || (pCur->off != UINT32_MAX / 2 && cbField != 0) 3850 3871 ) 3851 || (pCur->off != UINT32_MAX / 2 && cbField != 0) 3852 ) 3853 , ("cbField=%#x cb32=%#x cb64=%#x HC_ARCH_BITS=%u cbCtx=%#x cbSaved=%#x off=%#x\n", 3854 cbField, cb32, cb64, HC_ARCH_BITS, cbCtx, cbSaved, pCur->off), 3855 VERR_SSM_FIELD_INVALID_PADDING_SIZE); 3872 , ("cbField=%#x cb32=%#x cb64=%#x HC_ARCH_BITS=%u cbCtx=%#x cbSaved=%#x off=%#x\n", 3873 cbField, cb32, cb64, HC_ARCH_BITS, cbCtx, cbSaved, pCur->off), 3874 rc = VERR_SSM_FIELD_INVALID_PADDING_SIZE); 3856 3875 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 3857 3876 rc = ssmR3PutZeros(pSSM, cbSaved); … … 3860 3879 3861 3880 default: 3862 AssertPtr Return(pCur->pfnGetPutOrTransformer,VERR_SSM_FIELD_INVALID_CALLBACK);3881 AssertPtrBreakStmt(pCur->pfnGetPutOrTransformer, rc = VERR_SSM_FIELD_INVALID_CALLBACK); 3863 3882 rc = pCur->pfnGetPutOrTransformer(pSSM, pCur, (void *)pvStruct, fFlags, false /*fGetOrPut*/, pvUser); 3864 3883 break; 3865 3884 } 3866 3885 if (RT_FAILURE(rc)) 3867 return rc;3886 break; /* Deal with failures in one place (see below). */ 3868 3887 3869 3888 off = offField + cbField; 3870 3889 } 3871 AssertMsgReturn( !(fFlags & SSMSTRUCT_FLAGS_FULL_STRUCT) 3872 || off == cbStruct, 3873 ("off=%#x cbStruct=%#x\n", off, cbStruct), 3874 VERR_SSM_FIELD_NOT_CONSECUTIVE); 3890 3891 if (RT_SUCCESS(rc)) 3892 AssertMsgStmt( !(fFlags & SSMSTRUCT_FLAGS_FULL_STRUCT) 3893 || off == cbStruct, 3894 ("off=%#x cbStruct=%#x\n", off, cbStruct), 3895 rc = VERR_SSM_FIELD_NOT_CONSECUTIVE); 3896 3897 if (RT_FAILURE(rc)) 3898 { 3899 if (RT_SUCCESS(pSSM->rc)) 3900 pSSM->rc = rc; 3901 return rc; 3902 } 3875 3903 3876 3904 /* … … 5921 5949 && pSSM->u.Read.cbRecLeft <= RT_SIZEOFMEMB(SSMHANDLE, u.Read.abComprBuffer) + 2, 5922 5950 ("%#x\n", pSSM->u.Read.cbRecLeft), 5923 VERR_SSM_INTEGRITY_DECOMPRESSION);5951 pSSM->rc = VERR_SSM_INTEGRITY_DECOMPRESSION); 5924 5952 5925 5953 uint8_t cKB; … … 5933 5961 && cbDecompr <= RT_SIZEOFMEMB(SSMHANDLE, u.Read.abDataBuffer), 5934 5962 ("%#x\n", cbDecompr), 5935 VERR_SSM_INTEGRITY_DECOMPRESSION);5963 pSSM->rc = VERR_SSM_INTEGRITY_DECOMPRESSION); 5936 5964 5937 5965 *pcbDecompr = cbDecompr; … … 5981 6009 if (RT_SUCCESS(rc)) 5982 6010 { 5983 AssertLogRelMsgReturn(cbDstActual == cbDecompr, ("%#x %#x\n", cbDstActual, cbDecompr), VERR_SSM_INTEGRITY_DECOMPRESSION);6011 AssertLogRelMsgReturn(cbDstActual == cbDecompr, ("%#x %#x\n", cbDstActual, cbDecompr), pSSM->rc = VERR_SSM_INTEGRITY_DECOMPRESSION); 5984 6012 return VINF_SUCCESS; 5985 6013 } … … 6000 6028 { 6001 6029 *pcbZero = 0; /* shuts up gcc. */ 6002 AssertLogRelMsgReturn(pSSM->u.Read.cbRecLeft == 1, ("%#x\n", pSSM->u.Read.cbRecLeft), VERR_SSM_INTEGRITY_DECOMPRESSION);6030 AssertLogRelMsgReturn(pSSM->u.Read.cbRecLeft == 1, ("%#x\n", pSSM->u.Read.cbRecLeft), pSSM->rc = VERR_SSM_INTEGRITY_DECOMPRESSION); 6003 6031 6004 6032 uint8_t cKB; … … 6010 6038 uint32_t cbZero = (uint32_t)cKB * _1K; 6011 6039 AssertLogRelMsgReturn(cbZero <= RT_SIZEOFMEMB(SSMHANDLE, u.Read.abDataBuffer), 6012 ("%#x\n", cbZero), VERR_SSM_INTEGRITY_DECOMPRESSION);6040 ("%#x\n", cbZero), pSSM->rc = VERR_SSM_INTEGRITY_DECOMPRESSION); 6013 6041 6014 6042 *pcbZero = cbZero; … … 6189 6217 * Buffer miss, do an unbuffered read. 6190 6218 * 6219 * @returns VBox status code. Sets pSSM->rc on error. 6191 6220 * @param pSSM The saved state handle. 6192 6221 * @param pvBuf Where to store the read data. … … 6290 6319 6291 6320 default: 6292 AssertMsgFailedReturn(("%x\n", pSSM->u.Read.u8TypeAndFlags), VERR_SSM_BAD_REC_TYPE);6321 AssertMsgFailedReturn(("%x\n", pSSM->u.Read.u8TypeAndFlags), pSSM->rc = VERR_SSM_BAD_REC_TYPE); 6293 6322 } 6294 6323 … … 6393 6422 6394 6423 default: 6395 AssertMsgFailedReturn(("%x\n", pSSM->u.Read.u8TypeAndFlags), VERR_SSM_BAD_REC_TYPE);6424 AssertMsgFailedReturn(("%x\n", pSSM->u.Read.u8TypeAndFlags), pSSM->rc = VERR_SSM_BAD_REC_TYPE); 6396 6425 } 6397 6426 /*pSSM->u.Read.offDataBuffer = 0;*/ … … 6478 6507 if (RT_FAILURE(rc)) 6479 6508 return rc; 6480 AssertMsgReturn(u32Magic == SSMR3STRUCT_BEGIN, ("u32Magic=%#RX32\n", u32Magic), VERR_SSM_STRUCTURE_MAGIC);6509 AssertMsgReturn(u32Magic == SSMR3STRUCT_BEGIN, ("u32Magic=%#RX32\n", u32Magic), pSSM->rc = VERR_SSM_STRUCTURE_MAGIC); 6481 6510 6482 6511 /* get the fields */ … … 6493 6522 6494 6523 case SSMFIELDTRANS_GCPTR: 6495 AssertMsg Return(pCur->cb == sizeof(RTGCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6524 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6496 6525 rc = SSMR3GetGCPtr(pSSM, (PRTGCPTR)pbField); 6497 6526 break; 6498 6527 6499 6528 case SSMFIELDTRANS_GCPHYS: 6500 AssertMsg Return(pCur->cb == sizeof(RTGCPHYS), ("%#x (%s)\n", pCur->cb, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6529 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPHYS), ("%#x (%s)\n", pCur->cb, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6501 6530 rc = SSMR3GetGCPhys(pSSM, (PRTGCPHYS)pbField); 6502 6531 break; 6503 6532 6504 6533 case SSMFIELDTRANS_RCPTR: 6505 AssertMsg Return(pCur->cb == sizeof(RTRCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6534 AssertMsgBreakStmt(pCur->cb == sizeof(RTRCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6506 6535 rc = SSMR3GetRCPtr(pSSM, (PRTRCPTR)pbField); 6507 6536 break; … … 6510 6539 { 6511 6540 uint32_t const cEntries = pCur->cb / sizeof(RTRCPTR); 6512 AssertMsg Return(pCur->cb == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", pCur->cb, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6541 AssertMsgBreakStmt(pCur->cb == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", pCur->cb, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6513 6542 rc = VINF_SUCCESS; 6514 6543 for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++) … … 6518 6547 6519 6548 default: 6520 AssertMsgFailed Return(("%#x\n", pCur->pfnGetPutOrTransformer),VERR_SSM_FIELD_COMPLEX);6549 AssertMsgFailedBreakStmt(("%#x\n", pCur->pfnGetPutOrTransformer), rc = VERR_SSM_FIELD_COMPLEX); 6521 6550 } 6522 6551 if (RT_FAILURE(rc)) 6552 { 6553 if (RT_SUCCESS(pSSM->rc)) 6554 pSSM->rc = rc; 6523 6555 return rc; 6556 } 6524 6557 } 6525 6558 … … 6528 6561 if (RT_FAILURE(rc)) 6529 6562 return rc; 6530 AssertMsgReturn(u32Magic == SSMR3STRUCT_END, ("u32Magic=%#RX32\n", u32Magic), VERR_SSM_STRUCTURE_MAGIC);6563 AssertMsgReturn(u32Magic == SSMR3STRUCT_END, ("u32Magic=%#RX32\n", u32Magic), pSSM->rc = VERR_SSM_STRUCTURE_MAGIC); 6531 6564 return rc; 6532 6565 } … … 6601 6634 SSM_ASSERT_READABLE_RET(pSSM); 6602 6635 SSM_CHECK_CANCELLED_RET(pSSM); 6603 AssertMsgReturn(!(fFlags & ~SSMSTRUCT_FLAGS_VALID_MASK), ("%#x\n", fFlags), VERR_INVALID_PARAMETER);6636 AssertMsgReturn(!(fFlags & ~SSMSTRUCT_FLAGS_VALID_MASK), ("%#x\n", fFlags), pSSM->rc = VERR_INVALID_PARAMETER); 6604 6637 AssertPtr(pvStruct); 6605 6638 AssertPtr(paFields); … … 6613 6646 if (RT_FAILURE(rc)) 6614 6647 return rc; 6615 AssertMsgReturn(u32Magic == SSMR3STRUCT_BEGIN, ("u32Magic=%#RX32\n", u32Magic), VERR_SSM_STRUCTURE_MAGIC);6648 AssertMsgReturn(u32Magic == SSMR3STRUCT_BEGIN, ("u32Magic=%#RX32\n", u32Magic), pSSM->rc = VERR_SSM_STRUCTURE_MAGIC); 6616 6649 } 6617 6650 … … 6637 6670 && offField + cbField >= offField, 6638 6671 ("off=%#x cb=%#x cbStruct=%#x (%s)\n", cbField, offField, cbStruct, pCur->pszName), 6639 VERR_SSM_FIELD_OUT_OF_BOUNDS);6672 pSSM->rc = VERR_SSM_FIELD_OUT_OF_BOUNDS); 6640 6673 AssertMsgReturn( !(fFlags & SSMSTRUCT_FLAGS_FULL_STRUCT) 6641 6674 || off == offField, 6642 6675 ("off=%#x offField=%#x (%s)\n", off, offField, pCur->pszName), 6643 VERR_SSM_FIELD_NOT_CONSECUTIVE);6676 pSSM->rc = VERR_SSM_FIELD_NOT_CONSECUTIVE); 6644 6677 6645 6678 rc = VINF_SUCCESS; … … 6652 6685 6653 6686 case SSMFIELDTRANS_GCPHYS: 6654 AssertMsg Return(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6687 AssertMsgBreakStmt(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6655 6688 rc = SSMR3GetGCPhys(pSSM, (PRTGCPHYS)pbField); 6656 6689 break; 6657 6690 6658 6691 case SSMFIELDTRANS_GCPTR: 6659 AssertMsg Return(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6692 AssertMsgBreakStmt(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6660 6693 rc = SSMR3GetGCPtr(pSSM, (PRTGCPTR)pbField); 6661 6694 break; 6662 6695 6663 6696 case SSMFIELDTRANS_RCPTR: 6664 AssertMsg Return(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6697 AssertMsgBreakStmt(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6665 6698 rc = SSMR3GetRCPtr(pSSM, (PRTRCPTR)pbField); 6666 6699 break; … … 6669 6702 { 6670 6703 uint32_t const cEntries = cbField / sizeof(RTRCPTR); 6671 AssertMsg Return(cbField == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6704 AssertMsgBreakStmt(cbField == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6672 6705 rc = VINF_SUCCESS; 6673 6706 for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++) … … 6677 6710 6678 6711 case SSMFIELDTRANS_HCPTR_NI: 6679 AssertMsg Return(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6712 AssertMsgBreakStmt(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6680 6713 rc = ssmR3GetHCPtrNI(pSSM, (void **)pbField, fFlags); 6681 6714 break; … … 6684 6717 { 6685 6718 uint32_t const cEntries = cbField / sizeof(void *); 6686 AssertMsg Return(cbField == cEntries * sizeof(void *) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6719 AssertMsgBreakStmt(cbField == cEntries * sizeof(void *) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6687 6720 rc = VINF_SUCCESS; 6688 6721 for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++) … … 6692 6725 6693 6726 case SSMFIELDTRANS_HCPTR_HACK_U32: 6694 AssertMsg Return(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6727 AssertMsgBreakStmt(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6695 6728 *(uintptr_t *)pbField = 0; 6696 6729 rc = ssmR3DataRead(pSSM, pbField, sizeof(uint32_t)); … … 6699 6732 uint32_t u32; 6700 6733 rc = ssmR3DataRead(pSSM, &u32, sizeof(uint32_t)); 6701 AssertMsg Return(RT_FAILURE(rc) || u32 == 0 || (fFlags & SSMSTRUCT_FLAGS_SAVED_AS_MEM),6702 ("high=%#x low=%#x (%s)\n", u32, *(uint32_t *)pbField, pCur->pszName),6703 VERR_SSM_FIELD_INVALID_VALUE);6734 AssertMsgBreakStmt(RT_FAILURE(rc) || u32 == 0 || (fFlags & SSMSTRUCT_FLAGS_SAVED_AS_MEM), 6735 ("high=%#x low=%#x (%s)\n", u32, *(uint32_t *)pbField, pCur->pszName), 6736 rc = VERR_SSM_FIELD_INVALID_VALUE); 6704 6737 } 6705 6738 break; 6706 6739 6707 6740 case SSMFIELDTRANS_U32_ZX_U64: 6708 AssertMsg Return(cbField == sizeof(uint64_t), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6741 AssertMsgBreakStmt(cbField == sizeof(uint64_t), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6709 6742 ((uint32_t *)pbField)[1] = 0; 6710 6743 rc = SSMR3GetU32(pSSM, (uint32_t *)pbField); … … 6718 6751 6719 6752 case SSMFIELDTRANS_IGN_GCPHYS: 6720 AssertMsg Return(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6753 AssertMsgBreakStmt(cbField == sizeof(RTGCPHYS), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6721 6754 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 6722 6755 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPhys); … … 6724 6757 6725 6758 case SSMFIELDTRANS_IGN_GCPTR: 6726 AssertMsg Return(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6759 AssertMsgBreakStmt(cbField == sizeof(RTGCPTR), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6727 6760 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 6728 6761 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPtr); … … 6730 6763 6731 6764 case SSMFIELDTRANS_IGN_RCPTR: 6732 AssertMsg Return(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6765 AssertMsgBreakStmt(cbField == sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6733 6766 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 6734 6767 rc = SSMR3Skip(pSSM, sizeof(RTRCPTR)); … … 6736 6769 6737 6770 case SSMFIELDTRANS_IGN_HCPTR: 6738 AssertMsg Return(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6771 AssertMsgBreakStmt(cbField == sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6739 6772 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 6740 6773 rc = SSMR3Skip(pSSM, ssmR3GetHostBits(pSSM) / 8); … … 6743 6776 6744 6777 case SSMFIELDTRANS_OLD: 6745 AssertMsg Return(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6778 AssertMsgBreakStmt(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6746 6779 rc = SSMR3Skip(pSSM, pCur->cb); 6747 6780 break; 6748 6781 6749 6782 case SSMFIELDTRANS_OLD_GCPHYS: 6750 AssertMsg Return(pCur->cb == sizeof(RTGCPHYS) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6783 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPHYS) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6751 6784 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPhys); 6752 6785 break; 6753 6786 6754 6787 case SSMFIELDTRANS_OLD_GCPTR: 6755 AssertMsg Return(pCur->cb == sizeof(RTGCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6788 AssertMsgBreakStmt(pCur->cb == sizeof(RTGCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6756 6789 rc = SSMR3Skip(pSSM, pSSM->u.Read.cbGCPtr); 6757 6790 break; 6758 6791 6759 6792 case SSMFIELDTRANS_OLD_RCPTR: 6760 AssertMsg Return(pCur->cb == sizeof(RTRCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6793 AssertMsgBreakStmt(pCur->cb == sizeof(RTRCPTR) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6761 6794 rc = SSMR3Skip(pSSM, sizeof(RTRCPTR)); 6762 6795 break; 6763 6796 6764 6797 case SSMFIELDTRANS_OLD_HCPTR: 6765 AssertMsg Return(pCur->cb == sizeof(void *) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6798 AssertMsgBreakStmt(pCur->cb == sizeof(void *) && pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6766 6799 rc = SSMR3Skip(pSSM, ssmR3GetHostBits(pSSM) / 8); 6767 6800 break; 6768 6801 6769 6802 case SSMFIELDTRANS_OLD_PAD_HC: 6770 AssertMsg Return(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6803 AssertMsgBreakStmt(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6771 6804 rc = SSMR3Skip(pSSM, ssmR3GetHostBits(pSSM) == 64 ? RT_HIWORD(pCur->cb) : RT_LOWORD(pCur->cb)); 6772 6805 break; 6773 6806 6774 6807 case SSMFIELDTRANS_OLD_PAD_MSC32: 6775 AssertMsg Return(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName),VERR_SSM_FIELD_INVALID_SIZE);6808 AssertMsgBreakStmt(pCur->off == UINT32_MAX / 2, ("%#x %#x (%s)\n", pCur->cb, pCur->off, pCur->pszName), rc = VERR_SSM_FIELD_INVALID_SIZE); 6776 6809 if (ssmR3IsHostMsc32(pSSM)) 6777 6810 rc = SSMR3Skip(pSSM, pCur->cb); … … 6795 6828 && !ssmR3IsHostMsc32(pSSM)) 6796 6829 ? cb64 : cb32; 6797 AssertMsgReturn( cbField == cbCtx 6798 && ( ( pCur->off == UINT32_MAX / 2 6799 && ( cbField == 0 6800 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_HC_AUTO 6801 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_MSC32_AUTO 6802 ) 6830 AssertMsgBreakStmt( cbField == cbCtx 6831 && ( ( pCur->off == UINT32_MAX / 2 6832 && ( cbField == 0 6833 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_HC_AUTO 6834 || (uintptr_t)pCur->pfnGetPutOrTransformer == SSMFIELDTRANS_PAD_MSC32_AUTO 6835 ) 6836 ) 6837 || (pCur->off != UINT32_MAX / 2 && cbField != 0) 6803 6838 ) 6804 || (pCur->off != UINT32_MAX / 2 && cbField != 0) 6805 ) 6806 , ("cbField=%#x cb32=%#x cb64=%#x HC_ARCH_BITS=%u cbCtx=%#x cbSaved=%#x off=%#x\n", 6807 cbField, cb32, cb64, HC_ARCH_BITS, cbCtx, cbSaved, pCur->off), 6808 VERR_SSM_FIELD_INVALID_PADDING_SIZE); 6839 , ("cbField=%#x cb32=%#x cb64=%#x HC_ARCH_BITS=%u cbCtx=%#x cbSaved=%#x off=%#x\n", 6840 cbField, cb32, cb64, HC_ARCH_BITS, cbCtx, cbSaved, pCur->off), 6841 rc = VERR_SSM_FIELD_INVALID_PADDING_SIZE); 6809 6842 if (fFlags & SSMSTRUCT_FLAGS_DONT_IGNORE) 6810 6843 rc = SSMR3Skip(pSSM, cbSaved); … … 6813 6846 6814 6847 default: 6815 Assert PtrReturn(pCur->pfnGetPutOrTransformer,VERR_SSM_FIELD_INVALID_CALLBACK);6848 AssertBreakStmt(pCur->pfnGetPutOrTransformer, rc = VERR_SSM_FIELD_INVALID_CALLBACK); 6816 6849 rc = pCur->pfnGetPutOrTransformer(pSSM, pCur, pvStruct, fFlags, true /*fGetOrPut*/, pvUser); 6817 6850 break; 6818 6851 } 6819 6852 if (RT_FAILURE(rc)) 6820 return rc;6853 break; 6821 6854 6822 6855 off = offField + cbField; 6823 6856 } 6824 AssertMsgReturn( !(fFlags & SSMSTRUCT_FLAGS_FULL_STRUCT) 6825 || off == cbStruct, 6826 ("off=%#x cbStruct=%#x\n", off, cbStruct), 6827 VERR_SSM_FIELD_NOT_CONSECUTIVE); 6857 6858 if (RT_SUCCESS(rc)) 6859 AssertMsgStmt( !(fFlags & SSMSTRUCT_FLAGS_FULL_STRUCT) 6860 || off == cbStruct, 6861 ("off=%#x cbStruct=%#x\n", off, cbStruct), 6862 rc = VERR_SSM_FIELD_NOT_CONSECUTIVE); 6863 6864 if (RT_FAILURE(rc)) 6865 { 6866 if (RT_SUCCESS(pSSM->rc)) 6867 pSSM->rc = rc; 6868 return rc; 6869 } 6828 6870 6829 6871 /* … … 6835 6877 if (RT_FAILURE(rc)) 6836 6878 return rc; 6837 AssertMsgReturn(u32Magic == SSMR3STRUCT_END, ("u32Magic=%#RX32\n", u32Magic), VERR_SSM_STRUCTURE_MAGIC);6879 AssertMsgReturn(u32Magic == SSMR3STRUCT_END, ("u32Magic=%#RX32\n", u32Magic), pSSM->rc = VERR_SSM_STRUCTURE_MAGIC); 6838 6880 } 6839 6881
Note:
See TracChangeset
for help on using the changeset viewer.