VirtualBox

Ignore:
Timestamp:
Jul 10, 2020 10:06:55 AM (4 years ago)
Author:
vboxsync
Message:

IPRT/r0drv/darwin: Workarounds for stupid printf %p validation. bugref:9790

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/darwin/dbgkrnlinfo-r0drv-darwin.cpp

    r83845 r85167  
    11741174        {
    11751175            LOG_NOT_PRESENT("RTR0DbgInfo: %p: Page in %s is not present: %#zx - rva %#zx; in structure %#zx (%#zx LB %#zx)\n",
    1176                             pHdr, pszWhat, uAddress, uAddress - (uintptr_t)pHdr, uAddress - uStartAddress, uStartAddress, cb);
     1176                            (void *)pHdr, pszWhat, uAddress, uAddress - (uintptr_t)pHdr, uAddress - uStartAddress, uStartAddress, cb);
    11771177            return false;
    11781178        }
     
    12441244                    pThis->cbLoadCmds = pHdr->sizeofcmds;
    12451245                    if (pHdr->ncmds < 4)
    1246                         LOG_MISMATCH("RTR0DbgInfo: %p: ncmds=%u is too small\n", pHdr, pThis->cLoadCmds);
     1246                        LOG_MISMATCH("RTR0DbgInfo: %p: ncmds=%u is too small\n", (void *)pHdr, pThis->cLoadCmds);
    12471247                    else if (pThis->cLoadCmds > 256)
    1248                         LOG_MISMATCH("RTR0DbgInfo: %p: ncmds=%u is too big\n", pHdr, pThis->cLoadCmds);
     1248                        LOG_MISMATCH("RTR0DbgInfo: %p: ncmds=%u is too big\n", (void *)pHdr, pThis->cLoadCmds);
    12491249                    else if (pThis->cbLoadCmds <= pThis->cLoadCmds * sizeof(load_command_t))
    12501250                        LOG_MISMATCH("RTR0DbgInfo: %p: sizeofcmds=%u is too small for ncmds=%u\n",
    1251                                      pHdr, pThis->cbLoadCmds, pThis->cLoadCmds);
     1251                                     (void *)pHdr, pThis->cbLoadCmds, pThis->cLoadCmds);
    12521252                    else if (pThis->cbLoadCmds >= _1M)
    1253                         LOG_MISMATCH("RTR0DbgInfo: %p: sizeofcmds=%u is too big\n", pHdr, pThis->cbLoadCmds);
     1253                        LOG_MISMATCH("RTR0DbgInfo: %p: sizeofcmds=%u is too big\n", (void *)pHdr, pThis->cbLoadCmds);
    12541254                    else if (pHdr->flags & ~MH_VALID_FLAGS)
    1255                         LOG_MISMATCH("RTR0DbgInfo: %p: invalid flags=%#x\n", pHdr, pHdr->flags);
     1255                        LOG_MISMATCH("RTR0DbgInfo: %p: invalid flags=%#x\n", (void *)pHdr, pHdr->flags);
    12561256                    /*
    12571257                     * Check that we can safely read the load commands, then parse & validate them.
     
    12731273                            if (offSomeKernAddr >= pThis->cbTextSeg)
    12741274                                LOG_MISMATCH("RTR0DbgInfo: %p: Our symbol at %zx (off %zx) isn't within the text segment (size %#zx)\n",
    1275                                              pHdr, uSomeKernelAddr, offSomeKernAddr, pThis->cbTextSeg);
     1275                                             (void *)pHdr, uSomeKernelAddr, offSomeKernAddr, pThis->cbTextSeg);
    12761276                            /*
    12771277                             * Parse the symbol+string tables.
     
    12791279                            else if (pThis->uSymTabLinkAddr == 0)
    12801280                                LOG_MISMATCH("RTR0DbgInfo: %p: No symbol table VA (off %#x L %#x)\n",
    1281                                              pHdr, pThis->offSyms, pThis->cSyms);
     1281                                             (void *)pHdr, pThis->offSyms, pThis->cSyms);
    12821282                            else if (pThis->uStrTabLinkAddr == 0)
    12831283                                LOG_MISMATCH("RTR0DbgInfo: %p: No string table VA (off %#x LB %#x)\n",
    1284                                              pHdr, pThis->offSyms, pThis->cbStrTab);
     1284                                             (void *)pHdr, pThis->offSyms, pThis->cbStrTab);
    12851285                            else if (   rtR0DbgKrnlDarwinIsRangePresent(pThis->uStrTabLinkAddr + pThis->offLoad,
    12861286                                                                        pThis->cbStrTab, "string table", pHdr)
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