Changeset 93098 in vbox for trunk/src/VBox/Main/src-server
- Timestamp:
- Dec 29, 2021 10:55:15 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 149112
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-server/UnattendedOs2Installer.cpp
r93096 r93098 847 847 pszMarker += sizeof("START[") - 1; 848 848 const char *pszTail = splitFileLocateSubstring(pszMarker, (size_t)(pszEnd - pszMarker), RT_STR_TUPLE("]@@")); 849 size_t const cchFilename = (size_t)(pszTail - pszMarker); 849 850 if ( !pszTail 850 || pszTail - pszMarker> 64851 || memchr(pszMarker, '\\', (size_t)(pszTail - pszMarker))852 || memchr(pszMarker, '/', (size_t)(pszTail - pszMarker))853 || memchr(pszMarker, ':', (size_t)(pszTail - pszMarker))854 )851 || cchFilename > 64 852 || memchr(pszMarker, '\\', cchFilename) 853 || memchr(pszMarker, '/', cchFilename) 854 || memchr(pszMarker, ':', cchFilename) 855 || memchr(pszMarker, '\0', cchFilename) ) 855 856 return mpParent->setErrorBoth(E_FAIL, VERR_PARSE_ERROR, 856 857 tr("Malformed splitter tag in '%s' at offset %p: @@VBOX_SPLITTER_START[%.64s"), 857 pszFileToSplit, (size_t)(pszEnd - pszMarker), pszMarker);858 int vrc = RTStrValidateEncodingEx(pszMarker, (size_t)(pszTail - pszMarker), RTSTR_VALIDATE_ENCODING_EXACT_LENGTH);858 pszFileToSplit, cchFilename, pszMarker); 859 int vrc = RTStrValidateEncodingEx(pszMarker, cchFilename, RTSTR_VALIDATE_ENCODING_EXACT_LENGTH); 859 860 if (RT_FAILURE(vrc)) 860 861 return mpParent->setErrorBoth(E_FAIL, vrc, 861 862 tr("Malformed splitter tag in '%s' at offset %p: @@VBOX_SPLITTER_START[%.*Rhxs"), 862 pszFileToSplit, (size_t)(pszEnd - pszMarker), pszTail - pszMarker, pszMarker);863 pszFileToSplit, cchFilename, pszTail - pszMarker, pszMarker); 863 864 const char *pszFilename; 864 865 try 865 866 { 866 pszFilename = rVecSplitFiles.append().assign(pszMarker, pszTail - pszMarker).c_str();867 pszFilename = rVecSplitFiles.append().assign(pszMarker, cchFilename).c_str(); 867 868 } 868 869 catch (std::bad_alloc &) … … 893 894 pszFileToSplit, (size_t)(pszEnd - pszMarker), pszMarker); 894 895 pszMarker += sizeof("END[") - 1; 895 size_t const cchFilename = strlen(pszFilename);896 896 if ( strncmp(pszMarker, pszFilename, cchFilename) != 0 897 897 || pszMarker[cchFilename] != ']'
Note:
See TracChangeset
for help on using the changeset viewer.