VirtualBox

Changeset 23775 in vbox for trunk/src


Ignore:
Timestamp:
Oct 14, 2009 5:29:27 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
53513
Message:

SSM: Fixed uninitialized rc bug in the _ARRAY handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/SSM.cpp

    r23773 r23775  
    32553255            {
    32563256                uint32_t const cEntries = pCur->cb / sizeof(RTRCPTR);
    3257                 AssertMsgReturn(pCur->cb == cEntries * sizeof(RTRCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     3257                AssertMsgReturn(pCur->cb == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", pCur->cb, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     3258                rc = VINF_SUCCESS;
    32583259                for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++)
    32593260                    rc = SSMR3PutRCPtr(pSSM, ((PRTRCPTR)pbField)[i]);
     
    33813382            {
    33823383                uint32_t const cEntries = cbField / sizeof(RTRCPTR);
    3383                 AssertMsgReturn(cbField == cEntries * sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     3384                AssertMsgReturn(cbField == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     3385                rc = VINF_SUCCESS;
    33843386                for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++)
    33853387                    rc = SSMR3PutRCPtr(pSSM, ((PRTRCPTR)pbField)[i]);
     
    33953397            {
    33963398                uint32_t const cEntries = cbField / sizeof(void *);
    3397                 AssertMsgReturn(cbField == cEntries * sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     3399                AssertMsgReturn(cbField == cEntries * sizeof(void *) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     3400                rc = VINF_SUCCESS;
    33983401                for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++)
    33993402                    rc = ssmR3PutHCPtrNI(pSSM, ((void * const *)pbField)[i], fFlags);
     
    58605863            {
    58615864                uint32_t const cEntries = pCur->cb / sizeof(RTRCPTR);
    5862                 AssertMsgReturn(pCur->cb == cEntries * sizeof(RTRCPTR), ("%#x (%s)\n", pCur->cb, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     5865                AssertMsgReturn(pCur->cb == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", pCur->cb, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     5866                rc = VINF_SUCCESS;
    58635867                for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++)
    58645868                    rc = SSMR3GetRCPtr(pSSM, &((PRTRCPTR)pbField)[i]);
     
    60106014            {
    60116015                uint32_t const cEntries = cbField / sizeof(RTRCPTR);
    6012                 AssertMsgReturn(cbField == cEntries * sizeof(RTRCPTR), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     6016                AssertMsgReturn(cbField == cEntries * sizeof(RTRCPTR) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     6017                rc = VINF_SUCCESS;
    60136018                for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++)
    60146019                    rc = SSMR3GetRCPtr(pSSM, &((PRTRCPTR)pbField)[i]);
     
    60246029            {
    60256030                uint32_t const cEntries = cbField / sizeof(void *);
    6026                 AssertMsgReturn(cbField == cEntries * sizeof(void *), ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     6031                AssertMsgReturn(cbField == cEntries * sizeof(void *) && cEntries, ("%#x (%s)\n", cbField, pCur->pszName), VERR_SSM_FIELD_INVALID_SIZE);
     6032                rc = VINF_SUCCESS;
    60276033                for (uint32_t i = 0; i < cEntries && RT_SUCCESS(rc); i++)
    60286034                    rc = ssmR3GetHCPtrNI(pSSM, &((void **)pbField)[i], fFlags);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette