This fixes a thinko of mine: when I added another two elements to the ubsan data structure, I forgot to increase the size of the array.
Alternatively, I could use an alloca for this (VLAs issue a warning in C++03 and are thus no-go :(). I don't have a simple testcase for this. Valgrind/asan would be needed. Ran the testsuite. Ok for trunk? 2013-11-25 Marek Polacek <pola...@redhat.com> * ubsan.c (ubsan_create_data): Increase the size of the fields array. --- gcc/ubsan.c.mp3 2013-11-25 10:13:41.995328200 +0100 +++ gcc/ubsan.c 2013-11-25 10:19:10.068560008 +0100 @@ -387,7 +387,7 @@ ubsan_create_data (const char *name, loc { va_list args; tree ret, t; - tree fields[3]; + tree fields[5]; vec<tree, va_gc> *saved_args = NULL; size_t i = 0; Marek