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

    <tr>
        <th>Summary</th>
        <td>
            Does CodeChecker have support for STL in C++
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    **Describe the bug**
CodeChecker failed to detect bugs in STL's like List, Map.

**CodeChecker version**
16.0.0

**To Reproduce**
CodeChecker check --print-steps --build "make all" --output Report --clean --enable alpha.security.taint.TaintPropagation --ctu --enable profile:SENSITIVE

**Expected behaviour**
Taint Analysis should capture List 

**Desktop (please complete the following information)**
 - OS: Linux
 - Version: Ubuntu 20.04.5 LTS

**Sample Code**
```
#include <list>
{
    size_t data;
    list<size_t> dataList;
    /* Initialize data */
    data = 0;
    {
        char inputBuffer[CHAR_ARRAY_SIZE] = "";
 /* POTENTIAL FLAW: Read data from the console using fgets() */
        if (fgets(inputBuffer, CHAR_ARRAY_SIZE, stdin) != NULL)
        {
 /* Convert to unsigned int */
            data = strtoul(inputBuffer, NULL, 0);
        }
        else
        {
 printLine("fgets() failed.");
        }
    }
    /* Put data in a list */
    dataList.push_back(data);
    // dataList.push_back(data);
    // dataList.push_back(data);
 badSink(dataList);
}

void badSink(list<size_t> dataList)
{
 /* copy data out of dataList */
    size_t data = dataList.back();
 {
        char * myString;
        /* POTENTIAL FLAW: No MAXIMUM limitation for memory allocation, but ensure data is large enough
 * for the strcpy() function to not cause a buffer overflow */
        /* INCIDENTAL FLAW: The source could cause a type overrun in data or in the memory allocation */
        if (data > strlen(HELLO_STRING))
 {
            myString = (char *)malloc(data*sizeof(char));
 if (myString == NULL) {exit(-1);}
            /* Copy a small string into myString */
            strcpy(myString, HELLO_STRING);
 printLine(myString);
            free(myString);
        }
 else
        {
            printLine("Input is less than the length of the source string");
        }
    }
}
```

> Comment Extended:

_Originally posted by @bruntib in https://github.com/Ericsson/codechecker/issues/3798#issuecomment-1397281431_
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Vktz4rwS_TVi02XKyDwXLBwD96OKJFOBmfvYpGS7DboRkkuPTJhff0uyASckM3UXn4uYYLe6T3efPhIzhu8l4pyM7sho0WPOHpSe_0Cp_F8vV-VpTmhKaLpAU2ieI9gDQu72zVMSL0icZqrE7IDFC2qoGBdYglVQosXCelsDXMJ2tyF0YkDwF4QNN5bQDO5Z3W98tPfgtevvFbXhSnbDDcb9uB_fLtspeMJaq9IV-BW8wn9DFNWaSxsZi7WBKModFyUQSo_sBYEJQSiFKFLO1s56p0pbiKJCIJMQRShZLrxdfWB9g4XT3J76lnFp-zt__6ZVzfbMcuXNC-uui2qtKi6QJOl2-bBd79Y_lreZLN9qLCyWkOOBvXLldDefEAJSycTJcAPmoJwooWC1dbopLdy6XKB5saoGQqe1QGYQCnWsBdqmo5USQv3kcg9cVkofA3ZCZ924EMHjliQpbLh0b5dnP9oOJSl8z520Dmjcj4f9EWx221sgW-bDgm9K1zkZx-2ntU24LIQrEUiSCU-X5FyoyV0bGwAM_4XPFkpmGUk6z5sVWfOaJMtgEVjXtSJ0RWgKa8ktZ4L_wmAGAdfqatY8TBYQv1_dBeKv4sA0cFk7e-eqCjUZ3WV_pU_P6dNT-u_n7fo_SzJaBEeEUv-5eGuBfHvcLR9263QDq036T1_RJ2RlE7_S6hhaVShplEBwxrer2qM1hE4Jnd3g9hevfMvPVl1wNIOP6GgGxpZcNs4GHunD983G8-Cd02vmLfBMyVfU1o-9k0FTSvAk_QzRu4oaq61y4hZaEzeD2AdP7j7GX7x_gMLgVxDDqG-4xFAl2i1YI1b90I0_RHn_o22Xa5jn5Y0Fyn1KHU-7fu3M4TlnxQuh08DWDwGDy9XfZJ-zcsvl-VUjvtfXl9Sa-6viZWfF15N0ZsUNGwpVn5rCKGdBVZclN-XpjG-gwyWdNpN3WXw-bz7g8bS1msv9bQu_mqsHBffpv9b33-9B8CO3jVZXSsMRj0qf_CagilYFM8idBZTG62vTcAOC6T0CSuX2h0v6aXDhp9RYXdSnM8-cLEIAq0AqCwVzBoFBHugO6hV1JdTPT8flrFEP2XqxfNh1ctj5MMrpwmtCswU0bu2pxuBUO-m52bTCS1OAdpPhb4Sj7czS5yNQEjr9a7nZPD5vd0_rh3-EDWL2VXv8de5Mq3rTc8sInR0DgAtdU88FVbU2redLPxs0XW8dcfKh8Y1bQqfRoF32USE6pcw8PRkYD8Dn1ex6VnXAfiFbl6ZeCEcz-FiQ5DPhuS641Rl_VRr_ZHZN6Xdq17k-CN_aC2xgLhoD9sAaNgiUe3vwU2qvfDItiv9DF6__fNjJm3uyhEwdjygtLN8syhJLkqRdk-dHzfdcMiFOUCsTjj8nIMM4105annv6HqytjV8X1G_P7cHl_UIdCV0tNS-M8eO6KlSJRXPgI3TFjXFoCF0lk9nUnyv876LBEg2S2YROB8Nk8Nwr50k5S2ash_PBeDIczOhoHPcO83E1GBR5PMmLJJmw8aTI8wTHSU6nk3E-Gox7fE5jmsQDGscjOqNxfzoaJqPpKJkmwwrLYUyGMR4ZF30hXo99pfe9AGI-jgejWU-wHIU5n8H13BtF_thMhrFXX3NdZrkVOF8oNNA91R7YK4JxdTinegXa7ja-XBmhd4Te9ZwW89-Uzrtvv6Jaq_9iYbt1Cyj_FwAA__99dH8D">