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

    <tr>
        <th>Summary</th>
        <td>
            [TySan] Varargs stack use doesn't set shadow, leading to strange reports
        </td>
    </tr>

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

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

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

<pre>
    Trying out #76261, this program with a variadic function:

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

void foo(void) {
        long array[64];
        for (int i = 0; i < 64; ++i) {
                array[i] = i;
        }
        printf("%p\n", array);
}

void bar(int first, ...) {
        va_list args;
        va_start(args, first);
        va_arg(args, char *);
        va_end(args);
}

int main(void) {
        foo();
        bar(0, "");
}
```

Gives a strange report:

```console
tavianator@tachyon $ ~/code/llvm/llvm-project/build/bin/clang -g -fsanitize=type foo.c -o foo
tavianator@tachyon $ ./foo
0x7ffd254f1130
==231524==ERROR: TypeSanitizer: type-aliasing-violation on address 0x7ffd254f1268 (pc 0x55b385ac9008 bp 0x7ffd254f1170 sp 0x7ffd254f1110 tid 231524)
READ of size 8 at 0x7ffd254f1268 with type any pointer accesses an existing object of type long
    #0 0x55b385ac9007 in bar /home/tavianator/code/bfs/foo.c:15:2
```

CC: @gbMattN
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VM2O4zYMfhrmQsSQJTu2Dz7kZ9JTW2B20OuClmVbrSMZkpKd7KHPXshJZrLpZoHAYiT-fuRH8l73Rqka8g3kuwUdw2BdHeikyVCwbtHY9ly_ubM2PdpjQOCiWPFVCnyLYdAeJ2d7Rwf8psOAhCdymlotsTsaGbQ1INbAdsBu3xW7_OT1PxfayPHYKgSx9aEl1ycDiJcnz9rev87fk9UtdtYCL6MIvEIoNjeNarSmR3KOzpBvVhnkOxCfr511CLzUJqBGEDtkIDazuMVVFmXgG-Ab_egWWHVzqiHfzbb63jMUuw95ctqEDngJnAPPJ8i3Zha318x49Wn6afdRXUPummSnnQ_RLkmSx5RO9HXUPiC53t9ncqKvPpALwMv5iW9vbqoHNXL9nZIcKIKz_r-eMu2H3tPMY7oH0uZJXy4de_B9KZTF6DM-_Of-b0N0H-43fVIeCX1wZHqFTk3WhafjZ423o7rcfs47ZCyQHM7WIPAM_wW-l7ZVwPfjeDpcj-Xk7N9KBuD75qjHNp6xzL0cyfS47HHZeTI66O8KxC6cJxXnM5G4tPOg_jpoAnz_ocXei65reZ51aSpu9YodiB0Xac6zi_zy-vrnK4g1vp0n9eUa2sWLGHxJoyavTb88aTtSZCVag9S2TnmPdyH4qoxsmCSy9zxvRJmTrBgrsZnu1dKCof_xJmUYdIvXpHh1yfT1Zb1D26HX3xWWSOEx2Lw1ZoDInHGy2gTlkKRU3sduGlTv2od5-zQR8-ht1o-0vgRBxLiW2I85F6hN5A0C3w_2EFt4h_hHW5vOX-BOJIh1moNY818M2XYbQYWM9c3vFMIfi7YWbSUqWqg6Lfgq46wq2WKos9WqI6o6RappyqbhuVRUiabKu6YolFzomjOesSrN04ILxhIlecXaoixE14q2kJAxdSA9JnHkEuv6hfb-qOqUlUUhFiM1avS3xe3qeTCbY-8hY3EL-E-7oMM4r_i38xcycVn9RS6SF30g-Q8evcLWKm-AFwG9CugHau23yMJRURvRD_aBWH5xdGM9hDD5yDG-B77vdRiOTSLt4Slh5hoi5NcyTjX_LwAA___xy-NF">