VirtualBox

Changeset 71820 in vbox


Ignore:
Timestamp:
Apr 11, 2018 11:59:14 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
122026
Message:

DevPcBios: Increased paranoia level in pcbiosIOPortWrite a little.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/DevPcBios.cpp

    r71809 r71820  
    278278
    279279        /* The readable, buffered version. */
     280        uint32_t iMsg = pThis->iMsg;
    280281        if (u32 == '\n' || u32 == '\r')
    281282        {
    282             pThis->szMsg[pThis->iMsg] = '\0';
    283             if (pThis->iMsg)
     283            AssertStmt(iMsg < sizeof(pThis->szMsg), iMsg = sizeof(pThis->szMsg) - 1);
     284            pThis->szMsg[iMsg] = '\0';
     285            if (iMsg)
    284286                Log(("pcbios: %s\n", pThis->szMsg));
    285             pThis->iMsg = 0;
     287            iMsg = 0;
    286288        }
    287289        else
    288290        {
    289             if (pThis->iMsg >= sizeof(pThis->szMsg)-1)
     291            if (iMsg >= sizeof(pThis->szMsg) - 1)
    290292            {
    291                 pThis->szMsg[pThis->iMsg] = '\0';
     293                pThis->szMsg[iMsg] = '\0';
    292294                Log(("pcbios: %s\n", pThis->szMsg));
    293                 pThis->iMsg = 0;
     295                iMsg = 0;
    294296            }
    295             pThis->szMsg[pThis->iMsg] = (char )u32;
    296             pThis->szMsg[++pThis->iMsg] = '\0';
    297         }
     297            pThis->szMsg[iMsg] = (char)u32;
     298            pThis->szMsg[++iMsg] = '\0';
     299        }
     300        pThis->iMsg = iMsg;
    298301        return VINF_SUCCESS;
    299302    }
     
    304307    if (cb == 1 && Port == pThis->ShutdownPort)
    305308    {
    306         static const unsigned char szShutdown[] = "Shutdown";
    307         if (u32 == szShutdown[pThis->iShutdown])
     309        static const unsigned char s_szShutdown[] = "Shutdown";
     310        if (   pThis->iShutdown < sizeof(s_szShutdown) /* paranoia */
     311            && u32 == s_szShutdown[pThis->iShutdown])
    308312        {
    309313            pThis->iShutdown++;
    310             if (pThis->iShutdown == 8)
     314            if (pThis->iShutdown >= 8)
    311315            {
    312316                pThis->iShutdown = 0;
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