VirtualBox

Changeset 103685 in vbox


Ignore:
Timestamp:
Mar 5, 2024 3:46:54 PM (7 months ago)
Author:
vboxsync
Message:

Backed out r161312 (no longer needed): iprt: Prevent array-index-out-of-bounds UBSAN warnings on Linux, bugref:10585.

Location:
trunk/src/VBox/Runtime
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/log/log.cpp

    r103066 r103685  
    549549        uint16_t const iGroup = RT_HI_U16(fFlagsAndGroup);
    550550        if (   iGroup != UINT16_MAX
    551             && (   (*(pLoggerInt->afGroups + (iGroup < pLoggerInt->cGroups ? iGroup : 0)) & (fFlags | RTLOGGRPFLAGS_ENABLED))
     551            && (   (pLoggerInt->afGroups[iGroup < pLoggerInt->cGroups ? iGroup : 0] & (fFlags | RTLOGGRPFLAGS_ENABLED))
    552552                != (fFlags | RTLOGGRPFLAGS_ENABLED)))
    553553            pLoggerInt = NULL;
     
    15561556    iGroup = pLoggerInt->cGroups;
    15571557    while (iGroup-- > 0)
    1558         *(pLoggerInt->afGroups + iGroup) = 0;
     1558        pLoggerInt->afGroups[iGroup] = 0;
    15591559
    15601560    /*
     
    17891789            {
    17901790                if (fEnabled)
    1791                     *(pLoggerInt->afGroups + i) |= fFlags;
     1791                    pLoggerInt->afGroups[i] |= fFlags;
    17921792                else
    1793                     *(pLoggerInt->afGroups + i) &= ~fFlags;
     1793                    pLoggerInt->afGroups[i] &= ~fFlags;
    17941794            }
    17951795        }
     
    41594159        return VINF_LOG_DISABLED;
    41604160    if (    iGroup != ~0U
    4161         &&  (*(pLoggerInt->afGroups + iGroup) & (fFlags | RTLOGGRPFLAGS_ENABLED)) != (fFlags | RTLOGGRPFLAGS_ENABLED))
     4161        &&  (pLoggerInt->afGroups[iGroup] & (fFlags | RTLOGGRPFLAGS_ENABLED)) != (fFlags | RTLOGGRPFLAGS_ENABLED))
    41624162        return VINF_LOG_DISABLED;
    41634163
  • trunk/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c

    r103684 r103685  
    439439            fContiguous = true;
    440440            for (iPage = 0; iPage < cPages; iPage++)
    441                 *(pMemLnx->apPages + iPage) = &paPages[iPage];
     441                pMemLnx->apPages[iPage] = &paPages[iPage];
    442442        }
    443443        else if (fContiguous)
     
    455455        for (iPage = 0; iPage < cPages; iPage++)
    456456        {
    457             *(pMemLnx->apPages + iPage) = alloc_page(fFlagsLnx | __GFP_NOWARN);
    458             if (RT_UNLIKELY(!*(pMemLnx->apPages + iPage)))
     457            pMemLnx->apPages[iPage] = alloc_page(fFlagsLnx | __GFP_NOWARN);
     458            if (RT_UNLIKELY(!pMemLnx->apPages[iPage]))
    459459            {
    460460                while (iPage-- > 0)
    461                     __free_page(*(pMemLnx->apPages + iPage));
     461                    __free_page(pMemLnx->apPages[iPage]);
    462462                rtR0MemObjDelete(&pMemLnx->Core);
    463463                return rcNoMem;
     
    636636        size_t iPage = pMemLnx->cPages;
    637637        while (iPage-- > 0)
    638             if (PageHighMem(*(pMemLnx->apPages + iPage)))
     638            if (PageHighMem(pMemLnx->apPages[iPage]))
    639639            {
    640640                fMustMap = true;
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