<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJzVWFtz2ygU_jXyC2MPulp58IPTJN3ObNqOnc5OnzJIgE2LhRZQ6uTX7wFZsqy46WUzs7MeIhv4-DicG0cpFH1cfDKi2qCNooWSFpVqVwvJNGL7WioNP0QQzR-YnyCaUWS3DKnGQp8hzUwjrUGKI0Ip9AwypBJWPMFCrrQHcyWl-uY2KRVlAb4K8PLkmeG2lYd-FIuqlA1lKIjfGEulKGbbIL4eLrKPNaOMI2N1U1oUzC_bcYREZVHRcM50kF6mQXoVxCdzCmTS91wwSfuZYH7F9mRXS3bfEh5n_PNBCYpulAqi_BSHgmhpguiNZxZ0H0QXQ1nMFMTuhXHz6RUc6gph2ADB4htoSHC31I27qdTREVAj-iakRJVqjSKJqHphzyixpVp9eh_ES1RKAuqefkBTePLOJMDeWSmIUid7Bg3NYCGZgUlbJneSndssyt1Pojelk6jcEu1OCw2GHkYHdUhjSfn1nmhNHuGwIcat7lGHQei57tZeGzsCHgK75AakVPyZlmEz1452RAdjrJ1k2XiOa8bayeG4ZrbRldf8WI-dAw4V2nlvq8owmu19t_N4CAVQ9Fk3brvL9S3asIppYoWqjnHVisGoM9MBer1nZeNRRSMkfRH7UauNJruTqfAggPef_3cbHCRsv65Xqw8rd8pl67rrLr-4sS0j9bSNr6l6YJpDokGgx87N8T7DMW4_UY6IRXUJg-1AwudJGKGihpE555TGOE8YxcicjpR5K9Zfq3d31y7VOS9FiWMb8dutZoSiO3z0RUhmGGB-r9B1cxdtdQ1PiLi6sTNIH5cdwHnscGl4WBqTHyyNyXhp5M8AJwjTBOMi6gggmcJzn2f3WTKVomr2003VtBPlzKhZ5kmjOawZc8ZOnJBHnL4kjgf0S9vnSFHCIAh4YuE6wah4tMwgq9r4EputdUqOkqmbAEffuMiAjDLkCDFE_ilpv6NPJp67eDyaBHxlELJD0xRhXuKXDuQB3zNN9CPTRGSki_Wn29vl6vMv-fSP_eaQZtdbQgHf6pRo1VTtjV00m81jFxcDNUAwlDgDZ-dzXmCfaPAvtXNE5WsR0dciYq9FxH-fyOez6yNZDm7ryDhxrceml5zAzdmOfqc9lyx3IdGT_XQ7RxS9FlH8WkTJaxGlv080CCwkGdzs1AWlqhgygxnNaggwVkGFANdNXUtRtve_D0hfkPShdwh-UkiXl9Dxc_S8j0RbAfmsj9wOjCH9QIaHhJwgnCKcITzvC60_IIOAjNyCOPQJRDzSH9VyA0US9cnmkGIHINqB1q6kO0_Fw1PQDirk59tFp6A2u49gPD4FEW772ue4XXoKagw7AE2p6gMXzzvQW6kKIp8L5EAXI5CA5IuUpm36PYCy3gRKGKDwlwlsOsAgPu9Ab1RloWQGabqMfRS87O3tKmMo7tRXMTI4Ij3oXWU1Qar4wsqxooqiZ4ILw5XcTFdEnlJx1oH-dFZr78KxHsreC1beIGdRZb_dwfU3pB6JDaBykNu6km15-WF19-7925-vruOXquv_rK7GZwW4AzkPryegSOBmqAabK70DJ4Ga0G6huoEsDrXVV_cGFOVba2t_5_p3tMOb9kzpDfSe4O9LFT7dmvDzRV8oTOgiphfxBZmQxm6VXpDKqkqo6d8NZAQyabRcjFiF3TbFDI7oSjn50H1Na62cL0FXGNO4HHSTxhfzaLJdUH6RhWVCsiLnmCcUp2kWzlOalzGPY5xMJCmYNAs4TBBFFfuGPAX8hnNN_r0EYhHhyLUwTHASZzOSZSljLGK8JHMYDhLM4FVUzhyPU9hELzwlVDMGJqUw1hwniTFiUzHmBQYJrbCSLQYuRhUz8F47t4gLyN_P_2XBtPaOCWYcvPc58MTLvvCC_wN3e9VW>53972</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang 13.x doesn't find address sanitizer error that clang 12.x find
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
antonio-quarta
</td>
</tr>
</table>
<pre>
Using godbolt compiler explorer i've compared the outcome results of address sanitizer for the following code
```c
#include <stdlib.h>
typedef struct {
int buffer[5];
int other_field;
}example_struct;
void Foo(example_struct *s, int idx) {
s->buffer[idx] = 0; // if idx == 5, asan will not complain
}
// RUN: clang -O -g -fsanitize=address %t && ./a.out
int main(int argc, char **argv) {
int stack_array[100];
example_struct *S = malloc(sizeof(example_struct));
Foo(S, 6);
free(S);
return 0;
}
```
for the clang 12.x the results are:
```
ASM generation compiler returned: 0
Execution build compiler returned: 0
Program returned: 1
=================================================================
==1==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x603000000028 at pc 0x0000004f7412 bp 0x7ffdd3084ed0 sp 0x7ffdd3084ec8
WRITE of size 4 at 0x603000000028 thread T0
#0 0x4f7411 (/app/output.s+0x4f7411)
#1 0x4f743a (/app/output.s+0x4f743a)
#2 0x7fd3015400b2 (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
#3 0x41f2fd (/app/output.s+0x41f2fd)
0x603000000028 is located 0 bytes to the right of 24-byte region [0x603000000010,0x603000000028)
allocated by thread T0 here:
#0 0x4b18c0 (/app/output.s+0x4b18c0)
#1 0x4f742a (/app/output.s+0x4f742a)
SUMMARY: AddressSanitizer: heap-buffer-overflow (/app/output.s+0x4f7411)
Shadow bytes around the buggy address:
0x0c067fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c067fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c067fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c067fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c067fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c067fff8000: fa fa 00 00 00[fa]fa fa fa fa fa fa fa fa fa fa
0x0c067fff8010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff8020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c067fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==1==ABORTING
```
for the clang 13.x the results are:
```
ASM generation compiler returned: 0
Execution build compiler returned: 0
Program returned: 0
```
The example can be performed at this [link](https://godbolt.org/z/jn1zMs1Y9)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVV1tz2ygU_jXyC2MPuliWH_zgNEm3M5u2Y6ez06cMEmDTEqEFlDr59T2gi2XFTS-TmZ31YNmCj4_DuXHIFX1cfTKi3KGdormSFhXqvhKSacQOlVQa_oggWjwwP0A0o8juGVK1hXeGNDO1tAYpjgil8GaQIaWw4gkmcqU9mCsp1Te3SKEoC_BlgNcnzxQ3rWjfo1iUhawpQ0H8xlgqRT7bB_HVcJJ9rBhlHBmr68KiYHHR9CMkSovymnOmg_nFPJhfBvHJmAKZ9B0XTNJ-JFhcsgO5ryS7awiPI_75oARF10oFUXaKQ0G0NkH0xjMLegii5VAWMwWxe2Hc-PwSNnWJMCyAYPI1NCS4m-r63dDc0RFQI_ompESlaowiiSh7Yc8osaHafHofxGtUSALqnn5AU3jyziTA3lkpiOZO9hQamsFEMgOTNkxuJ_dusShzf4neFU6iYk-02y006HoYbdQhjSXF1zuiNXmEzYYYN7pHHQah57rbem3cE_AQWCUzIKXiz7QMi7l2tCNqjbF1kqXjMa4ZawaH_ZrZWpde82M9dg44VGjnvY0qw2h28K-dx0MogKLPunHzut7eoB0rmSZWqPIYV40YjDoztdCrAytqj8prIemL2I9a7TS5PxkKWwG8__y_22AjYfNztdl82LhdrhvX3Xb5xfXtGammTXxN1QPTHBINAj12bo4PKY5x84kyRCyqCuhsOhK-SMII5RX0LDinNMZZwihG5rSnyBqx_tm8u71yqc55KUoc24jf7jUjFN3ioy9CMsMA82uF7jVz0VZV8ISIq2o7g_Rx0QGcxw6nhu3UmPxkakzGUyO_B9hBOE8wzqOOAJIpPA9ZepcmUynK-jDdlXUzUMyMmqWeNFrAnDFn7MQJecTpS-J4QD-1eY4UJQyCgCcWjhOM8kfLDLKqiS-x21un5CiZugFw9J2LDMgoQ44QQ-SfkvYr-mTiufPHo0nAVwYhOzRNHmYFfmlDHvAj00Q_M01ERrrYfrq5WW8-_5ZP_9xv2jS73RMK-EanRKu6bE7svN7tHru4GKgBgqHAKTg7X_Ac-0SDf6udIypei4i-FhF7LSL-50Q-n10dyTJwW0fGiWs9dn7BCZycTe8P2nPJMhcSPdkvt3NE0WsRxa9FlLwW0fzPiQaBhSSDk526oFQlQ2YwolkFAcZKqBDguKkqKYrm_PcB6QuSPvTa4Ce5dHkJHT9Hz_tItBWQz_rI7cAY0g9keEjICcJzhFOEF32h9RdkEJCRWxCHPoGIR_qjWq6hSKI-2bQpdgCiHWjrSrrzVDw8Bd1Dhfx8uegU1GT3EYzHpyDCbV_7HJebn4Jqw1qgKVTVcvGsA72VKifyuUAOtByBBCRfpDRt0m8LSnsTKGGAwh8msOgAg_iiA71RpYWSGaTpMvZR8KK3t6uMobhTX8XI4Ij0oHel1QSp_AsrxorK854JDgxXcjNdEnlKxVkH-ttZrTkLx3ooei_YeIOcRRX9cq3r70g1EhtAxSC3dSXb-uLD5vbd-7e_Xl3HL1XX_1ldjc8KcAtyttcTUCRwM1SBzZW-ByeBmtDuobqBLA611Vd3A4qyvbWVP3P9Ha29ac-U3sHbE3y_lOHTjQk_L_tCYUJXMV3GSzKxwkq2GqiJKmbgbrawiAvIQc-v3Uxrr1wQZXB3ceBJreVqJIyw-zqfgWZcBSgfup9ppZVzQXgVxtQudV3P4-UimuxXWb4kJMyyZLlYpDRP83keJ0uMsyIhBC7lE0lyJs0KdBBEUcm-IU8B_0EdE7GKcORaGCY4idMZSdM5YyxivCAL6A4SzOD-KWdODqeliV55kaCEMTAohbHmOEiMEbuSMb8c8JPa7pVekdKqUqjpvzWkUDLxEqz8Dr4DukPAQw">