This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA/Ada(v2) 1/3] Add command to list Ada exceptions


>>>>> "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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]