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

    <tr>
        <th>Summary</th>
        <td>
            ASAN fails to catch UAF on compound literal
        </td>
    </tr>

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

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

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

<pre>
    ```c
#include <stdio.h>

int main(void) {
 int *xs[5] = {0};

    for (int i = 0; i < 5; ++i) {
        xs[i] = &(int){42};
    }

    for (int i = 0; i < 5; ++i) {
        printf("%p = %d\n", xs[i], *xs[i]);
    }
}
```
-fsanitize=address

GCC complains, Clang doesn't. https://godbolt.org/z/Phqh9fGsj

(Not mine, user garciat posted it on godbolt discord and asked if it's UB.)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysksFunDwQx59muIyyMmO8wIEDsB-5RZ9U5QG82CxOvfYWm7TN01eGTVK11yIEHv7j3_xnsAzBXJzWDYgOxCmTa5z90rR2lIvPzl79bODI9nsE1gJx40a7Ko3A-xCV8YcZ-H9JYq1xEa_SOKDq1RsFVCOUHbAWkwLU_gggOgHihMBPSWNQnoB3-3ZExMkvCFSlfLMlMeDdtuxRpCVQB9SZ39j3a2ObDzYddwxQDWVX0EehlJuCf1DythgXJ6AKiIDE7V5ZKBC92771n7ZS8D6CPa7_MrQ_3wcOrH2YgnQmmjcN_CSVWnQIu_PHvsfRX29WGhcSu7fSXVB5HRxQGQ84x3gLwFugAWi4eHX2Nh78cgEa3oCG_-dvcz09hpcdCFQ9-YhX43TCrUEveJHLaGTEmw9RKzQRvcM7CZUJo18USqdQhq9Jn9BEoDLgc3cAqjPVcFXzWma6yUteVnktqjKbG1YUfOIyr1SRs0lMula1lMecyWPOVcUy0xAjwXISueB1UR6IKs6k4jo_54JzCQXTV2nswdrXa2oqMyGsusmpKHKeWXnWNmynmsjp77ip6ZeIU7Y0adPDeb0EKJg1IYZPTDTR6qb90j7hJI0NGD2OMo4zPrdDaj8N3a9OoTVRL9Jm62KbP2Zt4ryeD6O_Ag2JfH893Bb_oscINGx-AtBwN_za0K8AAAD__3oHADw">