VirtualBox

Changeset 58187 in vbox


Ignore:
Timestamp:
Oct 12, 2015 1:55:35 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
103301
Message:

VbglR3VideoModeGetHighestSavedScreen: pszName maybe used uninitialized; untangled some of the completely unnecessary state complexity.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp

    r58185 r58187  
    229229    VMMDevDisplayChangeRequestEx Req;
    230230    int rc = VINF_SUCCESS;
     231
    231232    AssertPtrReturn(pcx, VERR_INVALID_PARAMETER);
    232233    AssertPtrReturn(pcy, VERR_INVALID_PARAMETER);
     
    237238    AssertPtrNullReturn(pfEnabled, VERR_INVALID_PARAMETER);
    238239    AssertPtrNullReturn(pfChangeOrigin, VERR_INVALID_PARAMETER);
     240
    239241    RT_ZERO(Req);
    240242    rc = vmmdevInitRequest(&Req.header, VMMDevReq_GetDisplayChangeRequestEx);
     
    259261        if (pfChangeOrigin)
    260262            *pfChangeOrigin = Req.fChangeOrigin;
    261     }
     263        return VINF_SUCCESS;
     264    }
     265
    262266    /* NEEDS TESTING: test below with current Additions on VBox 4.1 or older. */
    263267    /** @todo Can we find some standard grep-able string for "NEEDS TESTING"? */
     
    313317    using namespace guestProp;
    314318
    315     int rc, rc2 = VERR_UNRESOLVED_ERROR;
     319    int rc;
    316320    HGCMCLIENTID idClient = 0;
    317     const char *pszPattern = VIDEO_PROP_PREFIX"*";
    318321    PVBGLR3GUESTPROPENUM pHandle = NULL;
    319     const char *pszName;
     322    const char *pszName = NULL;
    320323    unsigned cHighestScreen = 0;
    321324
     325    /* Validate input. */
    322326    AssertPtrReturn(pcScreen, VERR_INVALID_POINTER);
     327
     328    /* Query the data. */
    323329    rc = VbglR3GuestPropConnect(&idClient);
    324330    if (RT_SUCCESS(rc))
     331    {
     332        const char *pszPattern = VIDEO_PROP_PREFIX"*";
    325333        rc = VbglR3GuestPropEnum(idClient, &pszPattern, 1, &pHandle, &pszName, NULL, NULL, NULL);
    326     if (idClientId != 0)
    327         rc2 = VbglR3GuestPropDisconnect(idClientId);
    328     if (RT_SUCCESS(rc))
    329         rc = rc2;
    330     while (pszName != NULL && RT_SUCCESS(rc))
     334        int rc2 = VbglR3GuestPropDisconnect(idClientId);
     335        if (RT_FAILURE(rc2) && RT_SUCCESS(rc))
     336            rc = rc2;
     337    }
     338
     339    /* Process the data. */
     340    while (RT_SUCCESS(rc) && pszName != NULL)
    331341    {
    332342        uint32_t cScreen;
     
    337347        rc = VbglR3GuestPropEnumNext(pHandle, &pszName, NULL, NULL, NULL);
    338348    }
     349
    339350    VbglR3GuestPropEnumFree(pHandle);
     351
     352    /* Return result. */
    340353    if (RT_SUCCESS(rc))
    341354        *pcScreen = cHighestScreen;
Note: See TracChangeset for help on using the changeset viewer.

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