@@ -893,6 +893,7 @@ namespace
893893 /* * data for multifile checking */
894894 class MyFileInfo : public Check ::FileInfo {
895895 public:
896+ using Check::FileInfo::FileInfo;
896897 /* * unsafe array index usage */
897898 std::list<CTU::FileInfo::UnsafeUsage> unsafeArrayIndex;
898899
@@ -951,7 +952,7 @@ Check::FileInfo *CheckBufferOverrun::getFileInfo(const Tokenizer &tokenizer, con
951952 if (unsafeArrayIndex.empty () && unsafePointerArith.empty ()) {
952953 return nullptr ;
953954 }
954- auto *fileInfo = new MyFileInfo;
955+ auto *fileInfo = new MyFileInfo (tokenizer. list . getFiles ()[ 0 ]) ;
955956 fileInfo->unsafeArrayIndex = unsafeArrayIndex;
956957 fileInfo->unsafePointerArith = unsafePointerArith;
957958 return fileInfo;
@@ -998,14 +999,15 @@ bool CheckBufferOverrun::analyseWholeProgram(const CTU::FileInfo *ctu, const std
998999 if (!fi)
9991000 continue ;
10001001 for (const CTU::FileInfo::UnsafeUsage &unsafeUsage : fi->unsafeArrayIndex )
1001- foundErrors |= analyseWholeProgram1 (callsMap, unsafeUsage, 1 , errorLogger, settings.maxCtuDepth );
1002+ foundErrors |= analyseWholeProgram1 (callsMap, unsafeUsage, 1 , errorLogger, settings.maxCtuDepth , fi-> file0 );
10021003 for (const CTU::FileInfo::UnsafeUsage &unsafeUsage : fi->unsafePointerArith )
1003- foundErrors |= analyseWholeProgram1 (callsMap, unsafeUsage, 2 , errorLogger, settings.maxCtuDepth );
1004+ foundErrors |= analyseWholeProgram1 (callsMap, unsafeUsage, 2 , errorLogger, settings.maxCtuDepth , fi-> file0 );
10041005 }
10051006 return foundErrors;
10061007}
10071008
1008- bool CheckBufferOverrun::analyseWholeProgram1 (const std::map<std::string, std::list<const CTU::FileInfo::CallBase *>> &callsMap, const CTU::FileInfo::UnsafeUsage &unsafeUsage, int type, ErrorLogger &errorLogger, int maxCtuDepth)
1009+ bool CheckBufferOverrun::analyseWholeProgram1 (const std::map<std::string, std::list<const CTU::FileInfo::CallBase *>> &callsMap, const CTU::FileInfo::UnsafeUsage &unsafeUsage,
1010+ int type, ErrorLogger &errorLogger, int maxCtuDepth, const std::string& file0)
10091011{
10101012 const CTU::FileInfo::FunctionCall *functionCall = nullptr ;
10111013
@@ -1038,7 +1040,7 @@ bool CheckBufferOverrun::analyseWholeProgram1(const std::map<std::string, std::l
10381040 }
10391041
10401042 const ErrorMessage errorMessage (locationList,
1041- emptyString ,
1043+ file0 ,
10421044 Severity::error,
10431045 errmsg,
10441046 errorId,
0 commit comments