VirtualBox

Changeset 40612 in vbox


Ignore:
Timestamp:
Mar 25, 2012 1:17:03 AM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
77024
Message:

SUPDrv-dtrace.cpp: bugfixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrv-dtrace.cpp

    r40611 r40612  
    130130//#define VERR_SUPDRV_VTG_RESERVED                (-3705)
    131131#define VERR_SUPDRV_VTG_BAD_HDR                 (-3706)
    132 #define VERR_SUPDRV_VTG_BAD_HDR_PTR             (-3706)
    133 #define VERR_SUPDRV_VTG_BAD_HDR_TOO_FEW         (-3707)
    134 #define VERR_SUPDRV_VTG_BAD_HDR_TOO_MUCH        (-3708)
    135 #define VERR_SUPDRV_VTG_BAD_HDR_NOT_MULTIPLE    (-3709)
    136 #define VERR_SUPDRV_VTG_STRTAB_OFF              (-3709)
    137 #define VERR_SUPDRV_VTG_BAD_STRING              (-1111)
    138 #define VERR_SUPDRV_VTG_STRING_TOO_LONG         (-1111)
    139 #define VERR_SUPDRV_VTG_BAD_ATTR                (-1111)
    140 #define VERR_SUPDRV_VTG_BAD_PROVIDER            (-1111)
    141 #define VERR_SUPDRV_VTG_BAD_PROBE               (-1111)
    142 #define VERR_SUPDRV_VTG_BAD_ARGLIST             (-3709)
    143 #define VERR_SUPDRV_VTG_BAD_PROBE_ENABLED       (-1111)
    144 #define VERR_SUPDRV_VTG_BAD_PROBE_LOC           (-3709)
    145 #define VERR_SUPDRV_VTG_ALREADY_REGISTERED      (-1111)
    146 #define VERR_SUPDRV_VTG_ONLY_ONCE_PER_SESSION   (-1111)
     132#define VERR_SUPDRV_VTG_BAD_HDR_PTR             (-3707)
     133#define VERR_SUPDRV_VTG_BAD_HDR_TOO_FEW         (-3708)
     134#define VERR_SUPDRV_VTG_BAD_HDR_TOO_MUCH        (-3709)
     135#define VERR_SUPDRV_VTG_BAD_HDR_NOT_MULTIPLE    (-3710)
     136#define VERR_SUPDRV_VTG_STRTAB_OFF              (-3711)
     137#define VERR_SUPDRV_VTG_BAD_STRING              (-3712)
     138#define VERR_SUPDRV_VTG_STRING_TOO_LONG         (-3713)
     139#define VERR_SUPDRV_VTG_BAD_ATTR                (-3714)
     140#define VERR_SUPDRV_VTG_BAD_PROVIDER            (-3715)
     141#define VERR_SUPDRV_VTG_BAD_PROBE               (-3716)
     142#define VERR_SUPDRV_VTG_BAD_ARGLIST             (-3717)
     143#define VERR_SUPDRV_VTG_BAD_PROBE_ENABLED       (-3718)
     144#define VERR_SUPDRV_VTG_BAD_PROBE_LOC           (-3719)
     145#define VERR_SUPDRV_VTG_ALREADY_REGISTERED      (-3720)
     146#define VERR_SUPDRV_VTG_ONLY_ONCE_PER_SESSION   (-3721)
    147147
    148148
     
    157157        if (   !RTLocCIsAlNum(ch)
    158158            && ch != ' '
     159            && ch != '_'
     160            && ch != '-'
    159161            && ch != '('
    160162            && ch != ')'
     
    163165            && ch != '&'
    164166           )
     167        {
     168            /*RTAssertMsg2("off=%u '%s'\n",  off, psz);*/
    165169            return VERR_SUPDRV_VTG_BAD_STRING;
     170        }
    166171    }
    167172    return VERR_SUPDRV_VTG_STRING_TOO_LONG;
     
    195200    do { \
    196201        if (   (cb) >= cbVtgObj \
    197             || (uintptr_t)(p) - (uintptr_t)pVtgHdr < cbVtgObj - (cb) ) \
     202            || (uintptr_t)(p) - (uintptr_t)pVtgHdr > cbVtgObj - (cb) ) \
    198203            return rcBase ## _PTR; \
    199204        if ((cb) <  (cMin) * (cbUnit)) \
     
    235240     * The header.
    236241     */
    237     if (!memcmp(pVtgHdr->szMagic, VTGOBJHDR_MAGIC, sizeof(pVtgHdr->szMagic)))
     242    if (memcmp(pVtgHdr->szMagic, VTGOBJHDR_MAGIC, sizeof(pVtgHdr->szMagic)))
    238243        return VERR_SUPDRV_VTG_MAGIC;
    239244    if (pVtgHdr->cBits != ARCH_BITS)
     
    247252    MY_VALIDATE_PTR(pVtgHdr->pachStrTab,        pVtgHdr->cbStrTab,       4,   _1M, sizeof(char),            VERR_SUPDRV_VTG_BAD_HDR);
    248253    MY_VALIDATE_PTR(pVtgHdr->paArgLists,        pVtgHdr->cbArgLists,     1,  _32K, sizeof(uint32_t),        VERR_SUPDRV_VTG_BAD_HDR);
     254
    249255    MY_WITHIN_IMAGE(pVtgHdr->paProbLocs,    VERR_SUPDRV_VTG_BAD_HDR_PTR);
    250256    MY_WITHIN_IMAGE(pVtgHdr->paProbLocsEnd, VERR_SUPDRV_VTG_BAD_HDR_PTR);
     
    252258        return VERR_SUPDRV_VTG_BAD_HDR_PTR;
    253259    cbTmp = (uintptr_t)pVtgHdr->paProbLocsEnd - (uintptr_t)pVtgHdr->paProbLocs;
    254     MY_VALIDATE_PTR(pVtgHdr->paProbLocs,        cbTmp,                   1, _128K, sizeof(VTGPROBELOC),     VERR_SUPDRV_VTG_BAD_HDR);
    255260    if (cbTmp < sizeof(VTGPROBELOC))
    256261        return VERR_SUPDRV_VTG_BAD_HDR_TOO_FEW;
     262    if (cbTmp >= _128K * sizeof(VTGPROBELOC))
     263        return VERR_SUPDRV_VTG_BAD_HDR_TOO_MUCH;
     264    if (cbTmp / sizeof(VTGPROBELOC) * sizeof(VTGPROBELOC) != cbTmp)
     265        return VERR_SUPDRV_VTG_BAD_HDR_NOT_MULTIPLE;
    257266
    258267    if (pVtgHdr->cbProbes / sizeof(VTGDESCPROBE) != pVtgHdr->cbProbeEnabled)
     
    298307            return VERR_SUPDRV_VTG_BAD_PROBE;
    299308        if (  i - pVtgHdr->paProviders[pVtgHdr->paProbes[i].idxProvider].iFirstProbe
    300             < pVtgHdr->paProviders[pVtgHdr->paProbes[i].idxProvider].cProbes)
     309            >= pVtgHdr->paProviders[pVtgHdr->paProbes[i].idxProvider].cProbes)
    301310            return VERR_SUPDRV_VTG_BAD_PROBE;
    302311        if (pVtgHdr->paProbes[i].u32User)
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