This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA/Ada(v2) 1/3] Add command to list Ada exceptions
- From: Tom Tromey <tromey at redhat dot com>
- To: Joel Brobecker <brobecker at adacore dot com>
- Cc: Pedro Alves <palves at redhat dot com>, gdb-patches at sourceware dot org
- Date: Fri, 08 Nov 2013 07:42:17 -0700
- Subject: Re: [RFA/Ada(v2) 1/3] Add command to list Ada exceptions
- Authentication-results: sourceware.org; auth=none
- References: <1383912219-13012-1-git-send-email-brobecker at adacore dot com> <1383912219-13012-2-git-send-email-brobecker at adacore dot com> <527CDD03 dot 9000200 at redhat dot com> <20131108133725 dot GA4585 at adacore dot com>
>>>>> "Joel" == Joel Brobecker <brobecker@adacore.com> writes:
Joel> +VEC(ada_exc_info) *
Joel> +ada_exceptions_list (const char *regexp)
Joel> +{
Joel> + VEC(ada_exc_info) *result = NULL;
Joel> + struct cleanup *old_chain
Joel> + = make_cleanup (VEC_cleanup (ada_exc_info), &result);
Joel> + regex_t *preg = NULL;
Joel> + int prev_len;
Joel> +
Joel> + if (regexp != NULL)
Joel> + {
Joel> + preg = alloca (sizeof (regex_t));
I think regex_t is sufficiently small that you might as well declare an
object in the outer scope and avoid alloca.
Joel> + discard_cleanups (old_chain);
This leaks anything done by compile_rx_or_error. I think you need to
pass an inner cleanup to do_cleanups.
Tom