Branch: Tag:

2014-12-04

2014-12-04 19:26:02 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed leak in get_argument_type().

This bug caused attributed getters and setters to leak the
resulting variable type.

Triggered by eg SSL.context.

5648:    */   struct pike_type *get_argument_type(struct pike_type *fun, int arg_no)   { +  struct pike_type *tmp; +     loop:    switch(fun->type) {    case T_OR:
5685:       case PIKE_T_ATTRIBUTE:    type_stack_mark(); -  push_finished_type(get_argument_type(fun->cdr, arg_no)); +  push_finished_type(tmp = get_argument_type(fun->cdr, arg_no));    push_type_attribute((struct pike_string *)(fun->car)); -  +  free_type(tmp);    return pop_unfinished_type();       case PIKE_T_SCOPE: