<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59154>59154</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            LLVM fails when analysing vector
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          VenoVeno
      </td>
    </tr>
</table>

<pre>
    LLVM fails when analysing vector.

```
0.      Program arguments: ${LLVM_INSTALLED_DIRECTORY}/build/bin/clang --analyze -Qunused-arguments -Xclang -analyzer-opt-analyze-headers -Xclang -analyzer-output=plist-multi-file -o ${TEST_DIRECTORY}/CWE789_Uncontrolled_Mem_Alloc__malloc_char_fgets_72a.cpp_clangsa_eeb399e2229c17947660f5af5e0b6a2a.plist -Xclang -analyzer-config -Xclang expand-macros=true -Xclang -analyzer-config -Xclang alpha.security.taint.TaintPropagation:Config=${TEST_DIRECTORY}/Custom-Taint-Config.yaml -Xclang -analyzer-config -Xclang cfg-conditional-static-initializers=true -Xclang -analyzer-config -Xclang cfg-loopexit=true -Xclang -analyzer-config -Xclang expand-macros=true -Xclang -analyzer-config -Xclang unroll-loops=true -Xclang -analyzer-config -Xclang widen-loops=true -Xclang -analyzer-config -Xclang nullability:NoDiagnoseCallsToSystemHeaders=true -Xclang -analyzer-checker=alpha.security.cert.env.InvalidPtr,alpha.security.cert.pos.34c,alpha.security.taint.TaintPropagation,core.CallAndMessage,core.DivideZero,core.NonNullParamChecker,core.NullDereference,core.StackAddressEscape,core.UndefinedBinaryOperatorResult,core.VLASize,core.uninitialized.ArraySubscript,core.uninitialized.Assign,core.uninitialized.Branch,core.uninitialized.CapturedBlockVariable,core.uninitialized.UndefReturn,cplusplus.InnerPointer,cplusplus.Move,cplusplus.NewDelete,cplusplus.NewDeleteLeaks,cplusplus.PlacementNew,cplusplus.PureVirtualCall,cplusplus.StringChecker,deadcode.DeadStores,nullability.NullPassedToNonnull,nullability.NullReturnedFromNonnull,optin.cplusplus.UninitializedObject,optin.cplusplus.VirtualCall,optin.portability.UnixAPI,security.FloatLoopCounter,security.insecureAPI.UncheckedReturn,security.insecureAPI.getpw,security.insecureAPI.gets,security.insecureAPI.mkstemp,security.insecureAPI.mktemp,security.insecureAPI.rand,security.insecureAPI.vfork,unix.API,unix.Malloc,unix.MallocSizeof,unix.MismatchedDeallocator,unix.Vfork,unix.cstring.BadSizeArg,unix.cstring.NullArg,valist.CopyToSelf,valist.Uninitialized,valist.Unterminated -Xclang -analyzer-config -Xclang aggressive-binary-operation-simplification=true -Xclang -analyzer-constraints=z3 -Xclang -analyzer-config -Xclang experimental-enable-naive-ctu-analysis=true -Xclang -analyzer-config -Xclang ctu-dir=${TEST_DIRECTORY}/ctu-dir/x86_64 -Xclang -analyzer-config -Xclang display-ctu-progress=true -x c++ --target=x86_64-linux-gnu -std=gnu++14 -I ${TEST_DIRECTORY}/testcasesupport -isystem /usr/include/c++/9 -isystem /usr/include/x86_64-linux-gnu/c++/9 -isystem /usr/include/c++/9/backward -isystem /usr/local/include -isystem /usr/include/x86_64-linux-gnu -isystem /usr/include ${TEST_DIRECTORY}/CWE789_Uncontrolled_Mem_Alloc__malloc_char_fgets_72a.cpp
1.      <eof> parser at end of file
2.      While analyzing stack: 
        #0 Calling std::__fill_bvector(_Bit_type *, unsigned int, unsigned int, _Bool) at line /usr/include/c++/9/bits/stl_bvector.h:426:7
        #1 Calling std::fill(_Bit_iterator, _Bit_iterator, const _Bool &)
3.      /usr/include/c++/9/bits/stl_bvector.h:407:7: Error evaluating statement
4.      /usr/include/c++/9/bits/stl_bvector.h:407:7: Error evaluating statement
 #0 0x0000563872986514 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x000056387298435c llvm::sys::CleanupOnSignal(unsigned long) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x3a3835c)
 #2 0x00005638728c5f58 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007fc7dd319420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x0000563874a18acc clang::ento::SMTConstraintManager::getSymVal(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SymExpr const*) const (${`LLVM`_INSTALLED_DIRECTORY}/build/bin/clang+0x5accacc)
 #5 0x0000563874a19188 clang::ento::SMTConstraintManager::getSymVal(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SymExpr const*) const (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x5acd188)
 #6 0x0000563874a19188 clang::ento::SMTConstraintManager::getSymVal(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SymExpr const*) const (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x5acd188)
 #7 0x0000563874a19188 clang::ento::SMTConstraintManager::getSymVal(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SymExpr const*) const (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x5acd188)
 #8 0x0000563874a0db2d (anonymous namespace)::SimpleSValBuilder::getConstValue(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal) (.isra.0) SimpleSValBuilder.cpp:0:0
 #9 0x0000563874a153d1 (anonymous namespace)::SimpleSValBuilder::evalBinOpNN(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::BinaryOperatorKind, clang::ento::NonLoc, clang::ento::NonLoc, clang::QualType) SimpleSValBuilder.cpp:0:0
#10 0x0000563874a29685 clang::ento::SValBuilder::evalBinOp(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::BinaryOperatorKind, clang::ento::SVal, clang::ento::SVal, clang::QualType) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x5add685)
#11 0x0000563874958c7d clang::ento::ExprEngine::VisitBinaryOperator(clang::BinaryOperator const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x5a0cc7d)
#12 0x00005638749399fb clang::ento::ExprEngine::Visit(clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x59ed9fb)
#13 0x000056387493b23e clang::ento::ExprEngine::ProcessStmt(clang::Stmt const*, clang::ento::ExplodedNode*) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x59ef23e)
#14 0x0000563874949222 clang::ento::ExprEngine::processCFGElement(clang::CFGElement, clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x59fd222)
#15 0x00005638748f2627 clang::ento::CoreEngine::dispatchWorkItem(clang::ento::ExplodedNode*, clang::ProgramPoint, clang::ento::WorkListUnit const&) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x59a6627)
#16 0x00005638748f2825 clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x59a6825)
#17 0x000056387436095a (anonymous namespace)::AnalysisConsumer::HandleCode(clang::Decl*, unsigned int, clang::ento::ExprEngine::InliningModes, llvm::DenseSet<clang::Decl const*, llvm::DenseMapInfo<clang::Decl const*, void>>*) AnalysisConsumer.cpp:0:0
#18 0x000056387438693c (anonymous namespace)::AnalysisConsumer::HandleTranslationUnit(clang::ASTContext&) AnalysisConsumer.cpp:0:0
#19 0x0000563874a78e15 clang::ParseAST(clang::Sema&, bool, bool) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x5b2ce15)
#20 0x000056387350f1d1 clang::FrontendAction::Execute() (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x45c31d1)
#21 0x00005638734940a3 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x45480a3)
#22 0x00005638735f2abb clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x46a6abb)
#23 0x000056387019d54c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x125154c)
#24 0x000056387019890c ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#25 0x00005638732fbe19 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#26 0x00005638728c66c7 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x397a6c7)
#27 0x00005638732fc04c clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#28 0x00005638732c6569 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x437a569)
#29 0x00005638732c6f5d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x437af5d)
#30 0x00005638732d14dc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x43854dc)
#31 0x000056387019b3af clang_main(int, char**) (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x124f3af)
#32 0x00007fc7db380083 __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:342:3
#33 0x000056387019558e _start (${LLVM_INSTALLED_DIRECTORY}/build/bin/clang+0x124958e)
clang-16: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 16.0.0 (https://github.com/llvm/llvm-project.git 4db687155bc12f31b5ed122ba1086c5f04838a24)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: ${LLVM_INSTALLED_DIRECTORY}/build/bin
clang-16: note: diagnostic msg: 

```

Clang Version : 16.0.0
[CWE789_Uncontrolled_Mem_Alloc__malloc_char_fgets_72a-df9157.cpp.pdf](https://github.com/llvm/llvm-project/files/10075864/CWE789_Uncontrolled_Mem_Alloc__malloc_char_fgets_72a-df9157.cpp.pdf)
[CWE789_Uncontrolled_Mem_Alloc__malloc_char_fgets_72a-df9157.sh.pdf](https://github.com/llvm/llvm-project/files/10075865/CWE789_Uncontrolled_Mem_Alloc__malloc_char_fgets_72a-df9157.sh.pdf)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWltT4zgW_jXhxRWX77EfeAgJ7LALNENoZndfUrIkJ1oc2WXJkPSv3yPZSSx3QoeGmZqtHQqCo6PLOd-5SnJakM35zc3TrZUhlgvrdUm5hTjKN4LxhfVCsSwqe-BMB864_Yyc9ld_dYCY3FfFokIrC1WLekW5FAN_bA28YDC6UHPPr-9mj-Obm8vpfHr9cDl5_PLwr8FoOvCu0prlRP1nHD5xjmDN4VCv_41aw19rXgtKhrt5reE_205tn2pYlHL7ZbikiNDqYK9alrUc-NMyZ0IOV3Uu2TBjOSxStJw-Xs4e-_xNfrscxcn8K8cFl1WR55TMb-lqPs7zAs_nK6T_4yWq5tmCSjEfecjGZTnX6ws0pzT1k4R6npdgd5QEoyhyshBlIXXSCEFnzc8BhmHBjC12BLouESfDFcJVAehOZVXTH49CeblEtqC4rpjc2BIxLu1H9QkaK9ECSVZw0NVED4Np30CiFrJYDfXgYdPf3qBV_mMmcLZQTYSpxVA-FBKWxUPGoQHlDEacLpCaKy-Kkq6ZPHnQz2FXc6Vvvdrpg14ZofydY3id5yhlOWgIVHFXTBla8ELQCRiXeCxmGyHp6pfGst-YdEnxM62gQ0_pmFbSpvzFvuYvADe5l9XAmxzqVBbC9gP8PfWI3XgTXFTUVnyOObmlQqAF3bZO2Qtg8W9aFduWu4Lfgaj3CCLFpOV2S4L2Ka1oBn8c7-aYSYSfx4RUMPWlwKjcUb5yQjPGKblgHFWbLyWtEASqByrAsbednm7GMzCv7dea702O2OOqQptZnQpcsVIe6SMEW_DDtIsKcbw8TJugUtYVMAfB4fkJVQyl-RE2tCAPFLrrdcq8FuoPlMVpdV8A4g1KO8Jt8UKNhjv6OqU5lUdabyh6FgbpPkeYqmgKfUwC8PzEKlmjXOnUoM1kBflgrzYC9ogLAnqGhxlAT9UiHVO2G10LCN-PBahekQ70aESn5KoqVvteENMZt_erf-1i9iX9D2SlA71M3htqWVRyux7Msh7fXwNtZ9lXeYHkDbjrpKhbqHc0xvUjhSEwtPEvslPVwW6QAsrXN4jiGG31rJy8PE5-iwqWSI7RXrKiegYiWN3aboTXj7c6c5nflLMU2a6NiRWSIDYBFSuycrAt8ak7LRbaOOwLsASYYlwt-hSl6aZZhSAhbdDOBkIbzbN9m6HkbjPoZQVuLik5IeMtFipasBc6THVogPpAxQaIV0PBVpBtM4bbtPdGfAa-VbRT8fabf1KGoRVTPgX5jXLl7kOOFBNY1sO2nHpHloNBhFVv5uNtH-9qHUfzKPjxrISBm6CNZqlUBRvgtGNpbYExXMAvlF8Syi2q0msz8zBnvF4PF7y2IHcTaIfHprMLy16_UT5JKiRGAqJyqRzRGjKhsxkMuaqFYp5xnNeEKoGaKeEpebNfn6l3DO30UzUnJJdXVJEDQ5S15_uh7-LneOffoc5sanBX1eADf6K817-0SlQJWllIWpQTq8gsVec2PT3V87elqnsbM1FFvlBpVlfsbZkP6PiOpeJoQwadj-F3PoeJ8nnabAoGXjy_YHIuN6WSbAweCzWTSpjgp-A7h77PL4oCcE0UbzA3PUFJTAXNKyF369pLYCXwIvgcdRl2v2dYsbtlk8mmRGjY6DVoj2-4A5Yi4LCZ2dfA_iyPzkjzCMBeVlVRWRQiWg2xp4Fc6hzcrBP8QetYWrHO2oGfMPLjkZfEUQhefA9hWupy67GC6mAGWkP5L5BXcpUT45eCEa3ixGpIQhufP3b0325utzd34IfYyvOXVaMP8IvmYZJTxOvyC29mgxV2lpIXfKHWgbaf3EACYM7aR34Mi-80qbjzDO5iHGZhbE0qJJYPFENZVW36cmuzTcw-sPeRdC0PA-C3S4wyPCLEd5PAc6z5HEKtKpHmEAK1XFc5Sw-HMiCUcllBUWWLwna0LG4AsxiSBF1JAuTGCGOrEV7jCwovmqfZ7eNkl85uwecXao-gKBBGZpvVk0Z_r6JrCD-1Sp8PNJtAuQ-bBX9ycOZ2zz9TFtY4EMQe7UwH-disLtdl1XZsTKnxup2iB5GjdA3_3q_uEACAXwOksAdS4sbx_zxIP-cNAA8B6Q14or_geQue0V_wvAVPbMLjkNQjah3EC75ZFbWwOFpRUSK1m09aBlX9TWeAx4VaqYOSxg_aa_rHIKVVonOMzUSFVJxVma3H3uEQn_QMI_SJ-5OSq0R9wfiX8u7ud5TbPCL5B9ObxcPAwA78Ru8K30H-Fbbcjxt1NHMShKpKcEwIvSSKw-OaOgzZnwOwxpJOJ3bB-rBXEgK47bxSAWvUX0ESxlCFHOZNRYpLvoAavPn-xASTpuDA31FQOkHmiPCwQF4QSu4KVcme1m8Gu05dfX8cGweD6AY2nomNnyRZ-g5sTDRmciX_7BgklICIBgZ-D4PU8-lpGIDfYCqEkvtTkPgM8TLg3hDPLIuTIPE87zTxyka8ydXfLvNmv2QI2W0_Xdf93e-RmEpoG-HancVn4ZMREN_Ax6yI48yLvNFhriawW-nio86O1GHgb0X1fA07ShOeUy2-Db76WPsoIGqJGybkV852hvU5_oAikNcAJOoDEntHElEfkMs1xbWkW2ZNPG6K5oixVajhHn2j-MQk9ikQAQIGRGYd7EdOEqIflTvj9sBTlXX1apu6m231RFtGF60pxfl7PKbvu9ccNtCML25hZmFCOqVc6IhqAKkWNHTSG3CLymueFT8YpM9EAHaFvHbYvtSHax-zcPbjKPHxR_B8rBAXuTY35TEmtOPZ4y6oRKfz2CtxRzF1Dbe4VweMMHcvE9AV0stMrFQf823_f9wuUw8DC1279Iwa0g-dzIUyvMPNVaUE52SM2zvuvdNqbj7MVBBiH9Y0mDLqLx8ykIP8LlOTYlWynFbXYEZIXXR22Wo5NTDtSfEpgTAIgxj4Mhj3TDQzD6VGcdSyuOf_pQ1xvTzZl-9TUlkQoQj4MRg2KhnHTUgYYAtjd75CanRnb6AveiGkKndeok7l2tb9RtvWrz-Fb9cL3TDABt9Bj-84cbC1RXfiPmqH6XA_U0f_T_qw9xr2VgeF0EZBKsgch_3ZM_K-72UpBRdXcnYiX1ZzbWPzSkOlqY2j6CCnumBgRV2azDNuxsZm7dYEJi5YwUpdSfZ87qBK9o1fyub9EKOxuXbWXS9bhXWuI_B67brNlxQJhufNdWMLktFZX52oIxp1p9eQe9Pt7zj39Da2bwPZ_kilGTLwRjlapQTC3miPFUjanmH_vUgPKyTqnURHER51dHHovLmhPNR8hjKabww839bdJxymJyMEHBqGPOrZFHYC4wj6_88m9HFSiSrZHCcdVX5sIoejMEqOIqcDKvouhW3hNKJvb6Dq0CmgJ2-s0e06NnL4Jx0hBv4IgZiGBSV9HLKQvBcHAFkcBwGoqjg3QHgrtO70XiJ1-z75vgp9E7fWOH4f9ACcLnrmNZ7vETcgR_1v2nk2MvmBFH4M9T8QvY8XDH4cAhwGXm4v8aY-yhretiXDll8dJsafVQIEGSxkcOJ17whTP3ac2Lfm85ylKlhB_NAMWZ1ZF4o2nH27_ja62H31bN9Vawl1bWjbu0dN1PPYGHD2A0997pfvV05hGFOrWfgTpE1gtp20mjJ01VW9RdXVtHpoXkbJ2sIW9N_YgXr9GDZ-r0wuLfV2p6XeLrNcX6ugFtQavliysASlsDncV5_dlSwwLgGtlhvZju2ogUspS33n7F0p4GDyGqJysVI4KVNu_qnXYdQ7ZTZ0sAKSRvHIDcMUu17mu2lIiet5KXKdOMJh5gSxHyNAabv2Y_u6zNhq73Nr_syLV96512366WtdawVy5ap3WQi2bki6XlYvfUyZxui9SvgObV5ItbmwSPMuqWTYWonFoPOOx4FXuZvPiYbyqYVSDWngbPuEFz_zrsqQZIkbjlRCtEuSDcLpu5UDX9V7LOoNCBecJ4yj4CdfnOkzs3POj8kmlp8nWvhB0VpevOSMnrtRlHgwrxOfkXOfJH6CziSTOf3he_9ndZWfv1sUJkStZQmBleBseZ6FCQ18PyRZhD0fuygOaExwTGL4c53wLEcpzcU54D_wPE5fLT0FPAOYZ-zcczzPddXxtRcFse2kOIoxAjf1MjeO3UHgUIiYua34sItqcVada5bSeiGAqN4iFHsi0i_1UqqXg_lRLZdFdf5EeaH-zvTa55r3_wJlKV22">