VirtualBox

Changeset 35709 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Jan 25, 2011 1:03:11 PM (14 years ago)
Author:
vboxsync
Message:

Check for string buffer lengths.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Installer/VBoxDrvInst.cpp

    r35705 r35709  
    9898    if (::FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwLastError, 0, pszMsg, dwBufSize / sizeof(TCHAR), NULL) == 0)
    9999    {
    100         _stprintf(pszMsg, _T("Unknown error!\n"), dwLastError);
     100        _sntprintf(pszMsg, dwBufSize / sizeof(TCHAR), _T("Unknown error!\n"), dwLastError);
    101101        return false;
    102102    }
     
    104104    {
    105105        _TCHAR *p = _tcschr(pszMsg, _T('\r'));
    106 
    107106        if (p != NULL)
    108107            *p = _T('\0');
     
    10481047                else
    10491048                {
    1050                     _stprintf(szINF, _T("%ws"), argv[3]);
     1049                    _sntprintf(szINF, sizeof(szINF) / sizeof(TCHAR), _T("%ws"), argv[3]);
    10511050
    10521051                    _TCHAR szLogFile[_MAX_PATH] = { 0 };
    10531052                    if (argc > 4)
    1054                         _stprintf(szLogFile, _T("%ws"), argv[4]);
     1053                        _sntprintf(szLogFile, sizeof(szLogFile) / sizeof(TCHAR), _T("%ws"), argv[4]);
    10551054                    rc = VBoxInstallDriver(!_tcsicmp(argv[2], _T("install")) ? TRUE : FALSE, szINF,
    10561055                                           FALSE /* Not silent */, szLogFile[0] != NULL ? szLogFile : NULL);
     
    10601059                     && argc == 4)
    10611060            {
    1062                 _stprintf(szINF, _T("%ws"), argv[3]);
     1061                _sntprintf(szINF, sizeof(szINF) / sizeof(TCHAR), _T("%ws"), argv[3]);
    10631062                rc = ExecuteInfFile(_T("DefaultInstall"), 132, szINF);
    10641063            }
     
    10741073                if (argc > 4)
    10751074                    iOrder = _ttoi(argv[4]);
    1076                 _stprintf(szProvider, _T("%ws"), argv[3]);
     1075                _sntprintf(szProvider, sizeof(szProvider) / sizeof(TCHAR), _T("%ws"), argv[3]);
    10771076                rc = AddNetworkProvider(szProvider, iOrder);
    10781077            }
     
    10801079                && argc >= 4)
    10811080            {
    1082                 _stprintf(szProvider, _T("%ws"), argv[3]);
     1081                _sntprintf(szProvider, sizeof(szProvider) / sizeof(TCHAR), _T("%ws"), argv[3]);
    10831082                rc = RemoveNetworkProvider(szProvider);
    10841083            }
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