VirtualBox

Ignore:
Timestamp:
Mar 28, 2014 3:47:50 PM (11 years ago)
Author:
vboxsync
Message:

wddm/graphics/crogl: more new command submission fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c

    r50913 r50921  
    30733073                if (cbHdr < sizeof (*pFnCmd))
    30743074                {
    3075                     crWarning("invalid write cmd buffer size!");
     3075                    WARN(("invalid write cmd buffer size!"));
    30763076                    rc = VERR_INVALID_PARAMETER;
    30773077                    break;
     
    30813081                if (!pBuffer)
    30823082                {
    3083                     crWarning("invalid buffer data received from guest!");
     3083                    WARN(("invalid buffer data received from guest!"));
    30843084                    rc = VERR_INVALID_PARAMETER;
    30853085                    break;
     
    30893089                if (RT_FAILURE(rc))
    30903090                {
     3091                    WARN(("crVBoxServerClientGet failed %d", rc));
    30913092                    break;
    30923093                }
     
    31013102                rc = crVBoxServerInternalClientWriteRead(pClient);
    31023103                CRVBOXHGSMI_CMDDATA_ASSERT_CLEANED(&pClient->conn->CmdData);
    3103                 return rc;
    3104             }
    3105             else
    3106             {
    3107                 crWarning("invalid number of args");
    3108                 rc = VERR_INVALID_PARAMETER;
     3104                if (RT_FAILURE(rc))
     3105                {
     3106                    WARN(("crVBoxServerInternalClientWriteRead failed %d", rc));
     3107                    break;
     3108                }
    31093109                break;
    31103110            }
     3111
     3112            WARN(("invalid number of args"));
     3113            rc = VERR_INVALID_PARAMETER;
    31113114            break;
    31123115        }
     
    31283131                if (cbHdr < sizeof (*pFnCmd))
    31293132                {
    3130                     crWarning("invalid inject cmd buffer size!");
     3133                    WARN(("invalid inject cmd buffer size!"));
    31313134                    rc = VERR_INVALID_PARAMETER;
    31323135                    break;
     
    31363139                if (!pBuffer)
    31373140                {
    3138                     crWarning("invalid buffer data received from guest!");
     3141                    WARN(("invalid buffer data received from guest!"));
    31393142                    rc = VERR_INVALID_PARAMETER;
    31403143                    break;
     
    31443147                if (RT_FAILURE(rc))
    31453148                {
     3149                    WARN(("crVBoxServerClientGet failed %d", rc));
    31463150                    break;
    31473151                }
     
    31563160                rc = crVBoxServerInternalClientWriteRead(pClient);
    31573161                CRVBOXHGSMI_CMDDATA_ASSERT_CLEANED(&pClient->conn->CmdData);
    3158                 return rc;
     3162                if (RT_FAILURE(rc))
     3163                {
     3164                    WARN(("crVBoxServerInternalClientWriteRead failed %d", rc));
     3165                    break;
     3166                }
     3167
     3168                break;
    31593169            }
    31603170
    3161             crWarning("invalid number of args");
     3171            WARN(("invalid number of args"));
    31623172            rc = VERR_INVALID_PARAMETER;
    31633173            break;
     
    31793189                if (cbHdr < sizeof (*pFnCmd))
    31803190                {
    3181                     crWarning("invalid read cmd buffer size!");
     3191                    WARN(("invalid read cmd buffer size!"));
    31823192                    rc = VERR_INVALID_PARAMETER;
    31833193                    break;
    31843194                }
    31853195
    3186 
    31873196                if (!pBuffer)
    31883197                {
    3189                     crWarning("invalid buffer data received from guest!");
     3198                    WARN(("invalid buffer data received from guest!"));
    31903199                    rc = VERR_INVALID_PARAMETER;
    31913200                    break;
     
    31953204                if (RT_FAILURE(rc))
    31963205                {
     3206                    WARN(("crVBoxServerClientGet failed %d", rc));
    31973207                    break;
    31983208                }
     
    32083218
    32093219                /* the read command is never pended, complete it right away */
    3210                 pHdr->result = rc;
    3211 
    3212                 return VINF_SUCCESS;
     3220                if (RT_FAILURE(rc))
     3221                {
     3222                    WARN(("crVBoxServerInternalClientRead failed %d", rc));
     3223                    break;
     3224                }
     3225
     3226                break;
    32133227            }
    32143228
     
    32383252                if (cbHdr < sizeof (*pFnCmd))
    32393253                {
    3240                     crWarning("invalid write_read cmd buffer size!");
     3254                    WARN(("invalid write_read cmd buffer size!"));
    32413255                    rc = VERR_INVALID_PARAMETER;
    32423256                    break;
    32433257                }
    32443258
    3245 
    32463259                CRASSERT(cbBuffer);
    32473260                if (!pBuffer)
    32483261                {
    3249                     crWarning("invalid write buffer data received from guest!");
     3262                    WARN(("invalid write buffer data received from guest!"));
    32503263                    rc = VERR_INVALID_PARAMETER;
    32513264                    break;
     
    32553268                if (!pWriteback)
    32563269                {
    3257                     crWarning("invalid writeback buffer data received from guest!");
     3270                    WARN(("invalid writeback buffer data received from guest!"));
    32583271                    rc = VERR_INVALID_PARAMETER;
    32593272                    break;
    32603273                }
     3274
    32613275                rc = crVBoxServerClientGet(u32ClientID, &pClient);
    32623276                if (RT_FAILURE(rc))
    32633277                {
    3264                     pHdr->result = rc;
    3265                     return VINF_SUCCESS;
     3278                    WARN(("crVBoxServerClientGet failed %d", rc));
     3279                    break;
    32663280                }
    32673281
     
    32753289                rc = crVBoxServerInternalClientWriteRead(pClient);
    32763290                CRVBOXHGSMI_CMDDATA_ASSERT_CLEANED(&pClient->conn->CmdData);
    3277                 return rc;
     3291
     3292                if (RT_FAILURE(rc))
     3293                {
     3294                    WARN(("crVBoxServerInternalClientWriteRead failed %d", rc));
     3295                    break;
     3296                }
     3297
     3298                break;
    32783299            }
    32793300
     
    33063327    }
    33073328
    3308     /* we can be on fail only here */
    3309     CRASSERT(RT_FAILURE(rc));
    33103329    pHdr->result = rc;
    33113330
    3312     return rc;
     3331    return VINF_SUCCESS;
    33133332}
    33143333
     
    35003519            return -1;
    35013520        }
     3521        case VBOXCMDVBVA_OPTYPE_FLIP:
     3522        {
     3523            const VBOXCMDVBVA_FLIP *pFlip;
     3524
     3525            if (cbCmd < sizeof (VBOXCMDVBVA_FLIP))
     3526            {
     3527                WARN(("invalid buffer size"));
     3528                return -1;
     3529            }
     3530
     3531            pFlip = (const VBOXCMDVBVA_FLIP*)pCmd;
     3532            return crVBoxServerCrCmdFlipProcess(pFlip);
     3533        }
    35023534        case VBOXCMDVBVA_OPTYPE_BLT_OFFPRIMSZFMT_OR_ID:
    35033535        {
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