Branch: Tag:

2009-09-22

2009-09-22 15:45:09 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Fixed issue where describe_svalue() on mappings could cause the fatal "Threads allowed while the global dynamic buffer is in use.".

Rev: src/mapping.c:1.213

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: mapping.c,v 1.212 2008/07/16 15:47:08 grubba Exp $ + || $Id: mapping.c,v 1.213 2009/09/22 15:45:09 grubba Exp $   */      #include "global.h"
2005:    }    else {    int save_t_flag = Pike_interpreter.trace_level; +  dynamic_buffer save_buf;       if (m->data->size == 1) {    my_strcat("([ /* 1 element */\n");
2013:    my_strcat(buf);    }    +  save_buffer (&save_buf);    Pike_interpreter.trace_level = 0;    if(SETJMP(catch)) {    free_svalue(&throw_value);
2022:    sort_array_destructively(a);    UNSETJMP(catch);    Pike_interpreter.trace_level = save_t_flag; +  restore_buffer (&save_buf);       for(e = 0; e < a->size; e++)    {