From 3f39385351ac395127b36c7413a939ead037afe6 Mon Sep 17 00:00:00 2001 From: Brooks Moses Date: Mon, 11 Jul 2016 16:48:41 -0700 Subject: cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length VLAs. 2016-06-12 Brooks Moses * cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length VLAs. From-SVN: r238233 --- libiberty/cp-demangle.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libiberty/cp-demangle.c') diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 09d6469..7f664b9 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -4128,8 +4128,12 @@ cplus_demangle_print_callback (int options, { #ifdef CP_DYNAMIC_ARRAYS - __extension__ struct d_saved_scope scopes[dpi.num_saved_scopes]; - __extension__ struct d_print_template temps[dpi.num_copy_templates]; + /* Avoid zero-length VLAs, which are prohibited by the C99 standard + and flagged as errors by Address Sanitizer. */ + __extension__ struct d_saved_scope scopes[(dpi.num_saved_scopes > 0) + ? dpi.num_saved_scopes : 1]; + __extension__ struct d_print_template temps[(dpi.num_copy_templates > 0) + ? dpi.num_copy_templates : 1]; dpi.saved_scopes = scopes; dpi.copy_templates = temps; -- cgit v1.1